A simple HTTP server that can serve up any directory, built with Dart.
Inspired by python -m SimpleHTTPServer.
Use the dart pub global command to install this into your system.
$ dart pub global activate dhttpdIf you have modified your PATH, you can run this server from any local directory.
$ dhttpdOtherwise you can use the dart pub global command.
$ dart pub global run dhttpdHere's an example of creating a web app and then running it with this server:
$ dart create -t web-simple web-app
$ cd web-app
$ dart pub get
$ dart run build_runner build -o build
$ dhttpd --path build/web/ # Serves app at http://localhost:8080If you want to use HTTPS you will need to pass in the path of the SSL certificate and the SSL key file as well as the password string, if a password is set on the key, for example:
$ dart bin/dhttpd.dart --sslcert=sample/server_chain.pem --sslkey=sample/server_key.pem --sslkeypassword=dartdart
Server HTTPS started on port 8080
See the Dart documentation of SecurityContext.usePrivateKey for more details.
$ dhttpd --help
-p, --port=<port> The port to listen on.
(defaults to "8080")
--path=<path> The path to serve. If not set, the current directory is used.
--headers=<headers> HTTP headers to apply to each response. header=value;header2=value
--host=<host> The hostname to listen on.
(defaults to "localhost")
--sslcert=<sslcert> The SSL certificate to use. Also requires sslkey
--sslkey=<sslkey> The key of the SSL certificate to use. Also requires sslcert
--sslkeypassword=<sslkeypassword> The password for the key of the SSL certificate to use.
-h, --help Displays the help.