https://github.com/donutloop/easy-middleware
easy-middleware is a lightweight json middleware stack for Go >= 1.7.
https://github.com/donutloop/easy-middleware
easy-to-use http json middleware restful-api
Last synced: 5 days ago
JSON representation
easy-middleware is a lightweight json middleware stack for Go >= 1.7.
- Host: GitHub
- URL: https://github.com/donutloop/easy-middleware
- Owner: donutloop
- License: mit
- Created: 2016-09-24T17:13:11.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-07-20T17:05:27.000Z (over 8 years ago)
- Last Synced: 2026-01-12T02:51:52.190Z (19 days ago)
- Topics: easy-to-use, http, json, middleware, restful-api
- Language: Go
- Homepage:
- Size: 39.1 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/donutloop/easy-middleware)
# easy-middleware
# What is easy-middleware ?
easy-middleware is a lightweight json middleware stack for Go >= 1.7.
## Features:
* Dump incoming request middleware
* Set body limit middleware
* Json header check middleware
* Validator middleware
* Sql db middleware
* Recovery middleware
* With value middleware
* Json response writer middleware
## Feature request are welcome
## Example :
```go
package main
import (
"net/http"
"github.com/donutloop/easy-middleware"
)
func main() {
stack := easy_middleware.New()
stack.Add(easy_middleware.Json())
stack.Add(easy_middleware.SqlDb("postgres", "postgres://postgres:postgres@db/postgres?sslmode=disable"))
http.Handle("/user", stack.Then(http.HandlerFunc(userHandler)))
http.ListenAndServe(":80", nil)
}
func userHandler(rw http.ResponseWriter, req *http.Request) {
jrw := rw.(*easy_middleware.JsonResponseWriter)
var db *sql.DB
if rv := r.Context().Value("db"); rv != nil {
if v, ok := rv.(*sql.DB); ok {
db = v
} else if err := rv.(*easy_middleware.DatabaseError); err != nil {
jrw.WriteError(err, http.StatusInternalServerError)
return
}
}
//...
}
```
## More documentation comming soon