vibe.d beta banner
get vibe.d
0.10.0

Asynchronous I/O that doesn’t get in your way, written in D

Function request

Returns the current request.

HTTPServerRequest request() @property @safe;

Note that this may only be called from a function/method registered using registerWebInterface.

Example

void requireAuthenticated()
{
	auto authorization = "Authorization" in request.headers;

	enforceHTTP(authorization !is null, HTTPStatus.forbidden);
	enforceHTTP(*authorization == "secret", HTTPStatus.forbidden);
}

class WebService {
	void getPage()
	{
		requireAuthenticated();
	}
}

void run()
{
	auto router = new URLRouter;
	router.registerWebInterface(new WebService);

	auto settings = new HTTPServerSettings;
	settings.port = 8080;
	listenHTTP(settings, router);
}
Authors

Sönke Ludwig

Copyright

© 2013-2016 Sönke Ludwig

License

Subject to the terms of the MIT license, as written in the included LICENSE.txt file.