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.
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.