package headscale import ( "bytes" _ "embed" "net/http" "text/template" "github.com/rs/zerolog/log" "github.com/gin-gonic/gin" ) //go:embed gen/openapiv2/headscale/v1/headscale.swagger.json var apiV1JSON []byte func SwaggerUI(c *gin.Context) { t := template.Must(template.New("swagger").Parse(`
`)) var payload bytes.Buffer if err := t.Execute(&payload, struct{}{}); err != nil { log.Error(). Caller(). Err(err). Msg("Could not render Swagger") c.Data( http.StatusInternalServerError, "text/html; charset=utf-8", []byte("Could not render Swagger"), ) return } c.Data(http.StatusOK, "text/html; charset=utf-8", payload.Bytes()) } func SwaggerAPIv1(c *gin.Context) { c.Data(http.StatusOK, "application/json; charset=utf-8", apiV1JSON) }