Skip to content
/ msv Public

Minimal HTTP server in Go with various middleware

License

Notifications You must be signed in to change notification settings

ribice/msv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Introduction

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

License

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

Author

Emir Ribic

About

Minimal HTTP server in Go with various middleware

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published