module handy_http_transport.interfaces; interface HttpTransport { void start(); void stop(); } import core.thread; /** * Starts a new thread to run an HTTP transport implementation in, separate * from the calling thread. This is useful for running a server in the * background, like for integration tests. * Params: * transport = The transport implementation to start. * Returns: The thread that was started. */ Thread startInNewThread(HttpTransport transport) { Thread t = new Thread(() { transport.start(); }); t.start(); return t; }