Golang HTTP Server Boilerplate
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd/boilerplate
server Initial commit of boilerplate Dec 2, 2018
.gitignore
LICENSE
README.md

README.md

http-boilerplate

An example of a reasonably complex web server in Go.

What's Included

This is a boilerplate application designed to show how to build web applications in Go. The following features are already set up:

  • HTTPS through Let's Encrypt
  • An API subrouter
  • A demo of authentication middleware
  • Static file serving
  • Graceful shutdown

This application largely uses the standard library. Routing is provided by the go-chi/chi package, and Let's Encrypt functionality is provided by the autocert package.

More Information

For more information on the design behind this boilerplate, please refer to the blog post.

Usage

To start using this library, it's recommend to fork this repository. Then, you can update the import paths to point to your local copy.

Pull Requests Welcome!

This is just one way to structure web servers in Go. I'd love to get feedback on possible improvements, so please don't hesitate to send a pull request!