2015-01-30 13:14:31 +08:00
|
|
|
// Package middleware provides some types and functions common among middleware.
|
2015-01-14 03:43:45 +08:00
|
|
|
package middleware
|
|
|
|
|
2015-01-30 13:08:40 +08:00
|
|
|
import "net/http"
|
2015-01-14 03:43:45 +08:00
|
|
|
|
2015-01-19 14:11:21 +08:00
|
|
|
type (
|
|
|
|
// Generator represents the outer layer of a middleware that
|
|
|
|
// parses tokens to configure the middleware instance.
|
2015-01-30 13:02:17 +08:00
|
|
|
Generator func(Controller) (Middleware, error)
|
2015-01-19 14:11:21 +08:00
|
|
|
|
|
|
|
// Middleware is the middle layer which represents the traditional
|
|
|
|
// idea of middleware: it is passed the next HandlerFunc in the chain
|
|
|
|
// and returns the inner layer, which is the actual HandlerFunc.
|
|
|
|
Middleware func(http.HandlerFunc) http.HandlerFunc
|
|
|
|
|
2015-01-30 13:02:17 +08:00
|
|
|
// Controller is the type which middleware generators use to access
|
|
|
|
// tokens and the server and any other information they need to
|
|
|
|
// configure themselves.
|
|
|
|
Controller interface {
|
2015-01-19 14:11:21 +08:00
|
|
|
Next() bool
|
|
|
|
NextArg() bool
|
|
|
|
NextLine() bool
|
2015-01-22 03:09:49 +08:00
|
|
|
NextBlock() bool
|
2015-01-19 14:11:21 +08:00
|
|
|
Val() string
|
2015-01-22 08:51:47 +08:00
|
|
|
Args(...*string) bool
|
2015-03-17 01:23:17 +08:00
|
|
|
RemainingArgs() []string
|
2015-01-30 13:02:17 +08:00
|
|
|
ArgErr() error
|
|
|
|
Err(string) error
|
2015-01-19 14:11:21 +08:00
|
|
|
Startup(func() error)
|
|
|
|
Root() string
|
|
|
|
Host() string
|
|
|
|
Port() string
|
2015-03-04 00:49:01 +08:00
|
|
|
Context() Path
|
2015-01-19 14:11:21 +08:00
|
|
|
}
|
|
|
|
)
|