I use dart:route api to serve static files, but I noticed that there is a main library called http_server that contains helper classes and functions for dart:io HttpServer .
Of particular interest to me is the VirtualDirectory class, which, according to the docs, takes a String object for the static contents of the directory, and then you call the serve() method
var virtualDirectory = new VirtualDirectory('/var/www/'); virtualDirectory.serve(new HttpServer('0.0.0.0', 8080));
This does not work because there is no constructor for HttpServer - at least in current versions.
virtualDirectory.serve(HttpServer.bind('0.0.0.0', 8080));
The way I created the server instance also fails, since virtualDirectory.serve() does not accept Future<HttpServer> and finally:
virtualDirectory.serve(HttpServer.bind('0.0.0.0', 8080).asStream());
also fails with the argument type "Stream" cannot be assigned to the parameter type 'Stream'
So how do I connect VirtualDirectory to the server? There are no examples that I can find on the Internet, and the source code of VirtualDirectory does not make it clear. I would have RTFM if I could FTFM. Links are in order as answers.
dart dart-io
Nathaniel johnson
source share