-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathroute.go
More file actions
47 lines (36 loc) · 1.25 KB
/
route.go
File metadata and controls
47 lines (36 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package emir
// Use registers given handlers as middleware to the route
// Given handlers will be executed by given order
func (r *Route) Use(handlers ...RequestHandler) *Route {
r.Middlewares = append(r.Middlewares, handlers...)
return r
}
// After registers given handlers as middleware to the route
// Given handlers will be executed after the main handlers by the given order
func (r *Route) After(handler ...RequestHandler) *Route {
r.AfterMiddlewares = append(r.AfterMiddlewares, handler...)
return r
}
// Handle registers given handlers as main handler to the route
// Given handlers will be executed after "middlewares" and before the "after middlewares"
func (r *Route) Handle(handler ...RequestHandler) *Route {
r.Handlers = append(r.Handlers, handler...)
return r
}
// HandleError registers given error handlers as error handler to the route
func (r *Route) HandleError(handler ErrorHandler) {
r.ErrorHandler = handler
}
// Validate registers given validator as validator to the route
func (r *Route) Validate(v Validator) {
r.Validator = v
}
// Bind registers given binder as binder to the route
func (r *Route) Bind(b Binder) {
r.Binder = b
}
// Name sets route name
func (r *Route) Name(name string) *Route {
r.RouteName = name
return r
}