mirror of
https://github.com/juanfont/headscale.git
synced 2025-11-20 01:40:21 -05:00
hscontrol: convert BlankHandler to use elem-go
This commit is contained in:
committed by
Kristoffer Dalby
parent
75e24de7bd
commit
09c9762fe0
@@ -286,12 +286,16 @@ func FaviconHandler(writer http.ResponseWriter, req *http.Request) {
|
||||
http.ServeContent(writer, req, "favicon.ico", time.Unix(0, 0), bytes.NewReader(favicon))
|
||||
}
|
||||
|
||||
// Returns a blank page with favicon linked.
|
||||
// BlankHandler returns a blank page with favicon linked.
|
||||
func BlankHandler(writer http.ResponseWriter, res *http.Request) {
|
||||
writer.Header().Set("Content-Type", "text/html; charset=utf-8")
|
||||
io.WriteString(writer, `
|
||||
<!doctype html><html><head>
|
||||
<link rel="icon" href="/favicon.ico">
|
||||
</head><body></body></html>
|
||||
`)
|
||||
writer.WriteHeader(http.StatusOK)
|
||||
|
||||
_, err := writer.Write([]byte(templates.BlankPage().Render()))
|
||||
if err != nil {
|
||||
log.Error().
|
||||
Caller().
|
||||
Err(err).
|
||||
Msg("Failed to write HTTP response")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,6 @@ var headscaleCSS string
|
||||
//go:embed headscale.svg
|
||||
var headscaleSVG string
|
||||
|
||||
|
||||
|
||||
// mdTypesetBody creates a body element with md-typeset styling
|
||||
// that matches the official Headscale documentation design.
|
||||
// Uses CSS classes with styles defined in headscaleCSS.
|
||||
@@ -191,8 +189,8 @@ func HtmlStructure(head, body *elem.Element) *elem.Element {
|
||||
}),
|
||||
// Google Fonts for Roboto and Roboto Mono
|
||||
elem.Link(attrs.Props{
|
||||
attrs.Rel: "preconnect",
|
||||
attrs.Href: "https://fonts.gstatic.com",
|
||||
attrs.Rel: "preconnect",
|
||||
attrs.Href: "https://fonts.gstatic.com",
|
||||
"crossorigin": "",
|
||||
}),
|
||||
elem.Link(attrs.Props{
|
||||
@@ -206,3 +204,20 @@ func HtmlStructure(head, body *elem.Element) *elem.Element {
|
||||
body,
|
||||
)
|
||||
}
|
||||
|
||||
// BlankPage creates a minimal blank HTML page with favicon.
|
||||
// Used for endpoints that need to return a valid HTML page with no content.
|
||||
func BlankPage() *elem.Element {
|
||||
return elem.Html(attrs.Props{attrs.Lang: "en"},
|
||||
elem.Head(nil,
|
||||
elem.Meta(attrs.Props{
|
||||
attrs.Charset: "UTF-8",
|
||||
}),
|
||||
elem.Link(attrs.Props{
|
||||
attrs.Rel: "icon",
|
||||
attrs.Href: "/favicon.ico",
|
||||
}),
|
||||
),
|
||||
elem.Body(nil),
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user