Skip to content
Minimal HTTP server in Go with various middleware
Go Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
render Remove status from render Jul 10, 2019


MSV - Minimal HTTP Server in Go

Build Status codecov Go Report Card Maintainability

MSV is a minimal server implementation in Go. It wraps Gorilla multiplexer, lifecycle control, graceful shutdown and common middleware into a single reusable package.


Whenever I start working on a new project, the packages implemented in msv are the ones I always tend to write from scratch. The idea for msv is to prevent that, and keep the common server implementation reusable for multiple projects.

What's included

MSV includes the following packages:

  • MSV (Server): Basic server implementation that wraps gorilla/mux with net/http server. Includes graceful shutdown and Start methods on server.
  • Render: Marshalls and validates HTTP requests. Writes HTTP responses and status codes to clients.
  • Middleware: Includes various http middlewares:
    • bauth: HTTP Basic Authentication
    • httplog: HTTP Request/Response logging
    • recovery: HTTP panics recoverer


MSV is licensed under the MIT license. Check the LICENSE file for details.


Emir Ribic

You can’t perform that action at this time.