36 lines
999 B
D
36 lines
999 B
D
module handy_http_starter;
|
|
|
|
public import handy_http_transport;
|
|
public import handy_http_primitives;
|
|
|
|
/**
|
|
* Starts an HTTP server, using the given handler to handle all incoming
|
|
* requests.
|
|
* Params:
|
|
* handler = The handler to use for requests.
|
|
* port = The port to host the server on. Defaults to 8080.
|
|
*/
|
|
void startServer(HttpRequestHandler handler, ushort port = 8080) {
|
|
HttpTransport tp = new Http1Transport(handler, port);
|
|
tp.start();
|
|
}
|
|
|
|
/**
|
|
* Starts an HTTP server, using the given delegate function to handle all
|
|
* incoming requests.
|
|
* Params:
|
|
* dg = The handler delegate function.
|
|
* port = The port to host the server on. Defaults to 8080.
|
|
*/
|
|
void startServer(
|
|
void delegate(ref ServerHttpRequest, ref ServerHttpResponse) dg,
|
|
ushort port = 8080
|
|
) {
|
|
auto handler = new class HttpRequestHandler {
|
|
void handle(ref ServerHttpRequest req, ref ServerHttpResponse resp) {
|
|
dg(req, resp);
|
|
}
|
|
};
|
|
startServer(handler, port);
|
|
}
|