@jmcg/tiny-local-http-server
v1.0.0
Published
Rudimentary HTTP server for serving local files via the loopback interface
Downloads
17
Readme
@jmcg/tiny-local-http-server
A rudimentary HTTP server for when you just need to serve a few static files out
of a directory tree on your local machine. No external dependencies; only
node builtins. The server listens on the IPv6 loopback address (::1).
CLI
tiny-local-http-server [port] [directory]The default port number is zero, which causes the operating system to assign an
arbitrary unused port. The default directory is the current working directory;
otherwise, the process will chdir() into the given directory before starting
the server.
The following signals are handled:
SIGUSR2: Print working directory and port number.SIGINT: Wait for the server to stop, then terminate the process.SIGTERM: Wait for the server to stop, then terminate the process.SIGTSTP: Wait for the server to stop, then suspend the process.SIGCONT: If the server was stopped, start it again.SIGQUIT: Print a warning, then terminate the process immediately.
API
import TinyLocalHTTPServer from "@jmcg/tiny-local-http-server";
const server = new TinyLocalHTTPServer();
await server.start();
console.log(server.rootURL);Constructor
new TinyLocalHTTPServer(options)
options:port: The number of the port on which the server should listen. Omitting this option, or providing a value of0,null, orundefined, will cause the operating system to assign an arbitrary unused port.- Additional options are passed to the
node.jshttp.Serverconstructor.
Properties
rootURL: AURLobject which always has"http"as its scheme,"\[::1\]"as its hostname, and an empty path. After the server has been started, theportproperty will reflect the number of the port on which the server is listening; if the port is 80 (the default port number for the HTTP protocol),portwill be an empty string.
Methods
async start(): Start the server and wait for it to start listening. If this method is called again before itsPromisehas resolved, it will return the samePromiseeach time. If this method is called while waiting for the server to stop, thePromisefromstop()will be rejected.async stop(): Stop the server and wait for it to close all its open connections. If this method is called again before itsPromisehas resolved, it will return the samePromiseeach time. If this method is called while waiting for the server to start, thePromisefromstart()will be rejected.
License
This package is released under the Creative Commons Attribution 4.0 International (CC-BY-4.0) license.
