startServer method
Starts, and returns the server.
Implementation
Future<Server> startServer([address, int port = 0]) {
var host = address ?? '127.0.0.1';
return generateServer(host, port).then((server) {
_server = server;
// TODO: Ugly fix
isServerInitialised = true;
return Future.wait(app.startupHooks.map(app.configure)).then((_) {
app.optimizeForProduction();
_sub = server.listen((request) {
var stream = createResponseStreamFromRawRequest(request);
stream.listen((response) {
// TODO: To be revisited
handleRawRequest(request, response);
});
});
return Future.value(_server);
});
}).catchError((error) {
app.logger?.severe('Failed to create server', error);
throw ArgumentError('[Driver]Failed to create server');
});
}