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 dhttpd
If you have modified your PATH, you can run this server from any local directory.
$ dhttpd
Otherwise you can use the dart pub global
command.
$ dart pub global run dhttpd
Here'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:8080
If 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.