-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcontrollerinterface.go
More file actions
39 lines (33 loc) · 871 Bytes
/
controllerinterface.go
File metadata and controls
39 lines (33 loc) · 871 Bytes
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
package trinity
import (
"net/http"
)
// ControllerInterface represents mvc controller objects.
type ControllerInterface interface {
SetController(Controller)
SetAction(Action)
SetRequest(*http.Request)
SetResponse(http.ResponseWriter)
GetInfo() ControllerInfoInterface
}
type BaseController struct {
C Controller
A Action
Request *http.Request
Response http.ResponseWriter
}
func NewBaseController() *BaseController {
return new(BaseController)
}
func (baseController *BaseController) SetController(c Controller) {
baseController.C = c
}
func (baseController *BaseController) SetAction(a Action) {
baseController.A = a
}
func (baseController *BaseController) SetRequest(request *http.Request) {
baseController.Request = request
}
func (baseController *BaseController) SetResponse(response http.ResponseWriter) {
baseController.Response = response
}