What is the Go equivalent of Node http-server?

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • http-server

    a simple zero-configuration command-line http server

    You probably need a few hundred lines of code and some external modules to be able to build what https://www.npmjs.com/package/http-server has. ``` Available Options: Command Description Defaults -p or --port Port to use. Use -p 0 to look for an open port, starting at 8080. It will also read from process.env.PORT. 8080 -a Address to use 0.0.0.0 -d Show directory listings true -i Display autoIndex true -g or --gzip When enabled it will serve ./public/some-file.js.gz in place of ./public/some-file.js when a gzipped version of the file exists and the request accepts gzip encoding. If brotli is also enabled, it will try to serve brotli first. false -b or --brotli When enabled it will serve ./public/some-file.js.br in place of ./public/some-file.js when a brotli compressed version of the file exists and the request accepts br encoding. If gzip is also enabled, it will try to serve brotli first. false -e or --ext Default file extension if none supplied html -s or --silent Suppress log messages from output --cors Enable CORS via the Access-Control-Allow-Origin header -o [path] Open browser window after starting the server. Optionally provide a URL path to open. e.g.: -o /other/dir/ -c Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds. To disable caching, use -c-1. 3600 -U or --utc Use UTC time format in log messages. --log-ip Enable logging of the client's IP address false -P or --proxy Proxies all requests which can't be resolved locally to the given url. e.g.: -P http://someurl.com --proxy-options Pass proxy options using nested dotted objects. e.g.: --proxy-options.secure false --username Username for basic authentication --password Password for basic authentication -S, --tls or --ssl Enable secure request serving with TLS/SSL (HTTPS) false -C or --cert Path to ssl cert file cert.pem -K or --key Path to ssl key file key.pem -r or --robots Automatically provide a /robots.txt (The content of which defaults to User-agent: *\nDisallow: /) false --no-dotfiles Do not show dotfiles --mimetypes Path to a .types file for custom mimetype definition -h or --help Print this list and exit. -v or --version Print the version and exit. Magic Files index.html will be served as the default file to any directory requests. 404.html will be served if a file is not found. This can be used for Single-Page App (SPA) hosting to serve the entry page. Catch-all redirect To implement a catch-all redirect, use the index page itself as the proxy with:

  • Caddy

    Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

    It's good you mentioned Caddy, which is a very nice go package that also runs as a stand-alone server and is roughly the equivalent of nginx.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • simplehttp2server

    A simple HTTP/2 server for development

  • devd

    A local webserver for developers

    Try https://github.com/cortesi/devd

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts