(templateProvider TemplateProvider, templateVersion, staticDir string, opts gin.H)
| 124 | } |
| 125 | |
| 126 | func BuildConsoleRouter(templateProvider TemplateProvider, templateVersion, staticDir string, opts gin.H) (*gin.Engine, error) { |
| 127 | var op errors.Op = "console.BuildConsoleRouter" |
| 128 | // An Engine instance with the Logger and Recovery middleware already attached. |
| 129 | gin.SetMode(gin.ReleaseMode) |
| 130 | r := gin.New() |
| 131 | if !templateProvider.DoTemplateExist(templateProvider.BasePath() + templateVersion + templateProvider.TemplateFilename()) { |
| 132 | templateVersion = "latest" |
| 133 | } |
| 134 | // Template console.gohtml |
| 135 | templateRender, err := templateProvider.LoadTemplates(templateProvider.BasePath()+templateVersion+"/", templateProvider.TemplateFilename()) |
| 136 | if err != nil { |
| 137 | return nil, errors.E(op, fmt.Errorf("cannot fetch template: %w", err)) |
| 138 | } |
| 139 | r.HTMLRender = templateRender |
| 140 | |
| 141 | if staticDir != "" { |
| 142 | r.Use(static.Serve("/static", static.LocalFile(staticDir, false))) |
| 143 | opts["cliStaticDir"] = staticDir |
| 144 | } |
| 145 | r.GET("/*action", func(c *gin.Context) { |
| 146 | c.HTML(http.StatusOK, templateProvider.TemplateFilename(), &opts) |
| 147 | }) |
| 148 | |
| 149 | return r, nil |
| 150 | } |
nothing calls this directly
no test coverage detected