forked from checkr/openmock
/
handler.go
57 lines (47 loc) · 1.86 KB
/
handler.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package admin
import (
"github.com/ziru/openmock"
"github.com/ziru/openmock/swagger_gen/models"
"github.com/ziru/openmock/swagger_gen/restapi/operations"
"github.com/ziru/openmock/swagger_gen/restapi/operations/evaluate"
"github.com/ziru/openmock/swagger_gen/restapi/operations/health"
"github.com/ziru/openmock/swagger_gen/restapi/operations/template"
"github.com/ziru/openmock/swagger_gen/restapi/operations/template_set"
"github.com/go-openapi/runtime/middleware"
)
// Setup initialize all the handler functions, returns whether admin HTTP
// should be enabled
func Setup(api *operations.OpenMockAPI, customOpenmock *openmock.OpenMock) bool {
om := customOpenmock
if om == nil {
// Start openmock
om = &openmock.OpenMock{}
om.ParseEnv()
}
defer om.Stop()
om.Start()
// Setup swagger API
setupHealth(api)
setupCRUD(api, om)
return om.AdminHTTPEnabled
}
func setupHealth(api *operations.OpenMockAPI) {
api.HealthGetHealthHandler = health.GetHealthHandlerFunc(
func(health.GetHealthParams) middleware.Responder {
return health.NewGetHealthOK().WithPayload(&models.Health{Status: "OK"})
},
)
}
func setupCRUD(api *operations.OpenMockAPI, om *openmock.OpenMock) {
c := NewCRUD(om)
// Templates
api.TemplateGetTemplatesHandler = template.GetTemplatesHandlerFunc(c.GetTemplates)
api.TemplatePostTemplatesHandler = template.PostTemplatesHandlerFunc(c.PostTemplates)
api.TemplateDeleteTemplatesHandler = template.DeleteTemplatesHandlerFunc(c.DeleteTemplates)
api.TemplateDeleteTemplateHandler = template.DeleteTemplateHandlerFunc(c.DeleteTemplate)
// Template sets
api.TemplateSetDeleteTemplateSetHandler = template_set.DeleteTemplateSetHandlerFunc(c.DeleteTemplateSet)
api.TemplateSetPostTemplateSetHandler = template_set.PostTemplateSetHandlerFunc(c.PostTemplateSet)
// evaluate
api.EvaluateEvaluateHandler = evaluate.EvaluateHandlerFunc(c.PostEvaluate)
}