-
Notifications
You must be signed in to change notification settings - Fork 1
/
01_mux.go
37 lines (28 loc) · 878 Bytes
/
01_mux.go
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
package needless_indirection
import (
"net/http"
)
//go:generate mockery -name=MyMux -case underscore -testonly -inpkg -note @generated
type MyMux interface {
Handle(pattern string, handler http.Handler)
Handler(req *http.Request) (handler http.Handler, pattern string)
ServeHTTP(resp http.ResponseWriter, req *http.Request)
}
// build HTTP handler routing
func buildRouter(mux MyMux) {
mux.Handle("/get", &getEndpoint{})
mux.Handle("/list", &listEndpoint{})
mux.Handle("/save", &saveEndpoint{})
}
type getEndpoint struct{}
func (*getEndpoint) ServeHTTP(_ http.ResponseWriter, _ *http.Request) {
// not implemented
}
type listEndpoint struct{}
func (*listEndpoint) ServeHTTP(_ http.ResponseWriter, _ *http.Request) {
// not implemented
}
type saveEndpoint struct{}
func (*saveEndpoint) ServeHTTP(_ http.ResponseWriter, _ *http.Request) {
// not implemented
}