feature: add context to handlers and middlewares #17
|
@ -0,0 +1,13 @@
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Context for api handlers
|
||||||
|
type Context struct {
|
||||||
|
context.Context
|
||||||
|
Request *http.Request
|
||||||
|
Response http.ResponseWriter
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package api
|
||||||
|
|
||||||
|
// Middleware for the api for middle ware management (authentication, storing data)
|
||||||
|
type Middleware interface {
|
||||||
|
Handle(ctx *Context) *Context
|
||||||
|
}
|
||||||
|
|
||||||
|
// MiddlewareFunc proxies to a Middleware
|
||||||
|
type MiddlewareFunc func(ctx *Context) *Context
|
||||||
|
|
||||||
|
// Handle implements the Middleware interface
|
||||||
|
func (mwf MiddlewareFunc) Handle(ctx *Context) *Context {
|
||||||
|
return mwf(ctx)
|
||||||
|
}
|
Loading…
Reference in New Issue