Added our 404 page
This commit is contained in:
parent
47c25207a4
commit
94bd05751e
|
@ -13,4 +13,8 @@ var Config = HMNConfig{
|
|||
MinConn: 2, // Keep these low for dev, high for production
|
||||
MaxConn: 2,
|
||||
},
|
||||
Auth: AuthConfig{
|
||||
CookieDomain: ".handmade.local",
|
||||
CookieSecure: false,
|
||||
},
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{{ template "base.html" . }}
|
||||
|
||||
{{ define "content" }}
|
||||
<div class="description">
|
||||
<p>
|
||||
<span class="big">Hi there, {{ if .User }}{{ .User.Name }}{{ else }}visitor{{ end }}!</span>
|
||||
</p>
|
||||
<p>
|
||||
<span class="big">We couldn't find what you were looking for:</span><br />
|
||||
{{ .Wanted }}
|
||||
</p>
|
||||
</div>
|
||||
{{ end }}
|
|
@ -133,6 +133,16 @@ func (c *RequestContext) URL() *url.URL {
|
|||
return c.Req.URL
|
||||
}
|
||||
|
||||
func (c *RequestContext) FullUrl() string {
|
||||
var scheme string // TODO(asaf): BEFORE RELEASE!! Fetch scheme from X-Forwarded-* headers or Forwarded header
|
||||
if c.Req.TLS != nil {
|
||||
scheme = "https://"
|
||||
} else {
|
||||
scheme = "http://"
|
||||
}
|
||||
return scheme + c.Req.Host + c.Req.URL.String()
|
||||
}
|
||||
|
||||
func (c *RequestContext) GetFormValues() (url.Values, error) {
|
||||
err := c.Req.ParseForm()
|
||||
if err != nil {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package website
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
@ -90,6 +89,7 @@ func getBaseData(c *RequestContext) templates.BaseData {
|
|||
if c.CurrentUser != nil {
|
||||
templateUser = &templates.User{
|
||||
Username: c.CurrentUser.Username,
|
||||
Name: c.CurrentUser.Name,
|
||||
Email: c.CurrentUser.Email,
|
||||
IsSuperuser: c.CurrentUser.IsSuperuser,
|
||||
IsStaff: c.CurrentUser.IsStaff,
|
||||
|
@ -166,10 +166,17 @@ func ProjectCSS(c *RequestContext) ResponseData {
|
|||
}
|
||||
|
||||
func FourOhFour(c *RequestContext) ResponseData {
|
||||
return ResponseData{
|
||||
StatusCode: http.StatusNotFound,
|
||||
Body: bytes.NewBufferString("go away\n"),
|
||||
templateData := struct {
|
||||
templates.BaseData
|
||||
Wanted string
|
||||
}{
|
||||
BaseData: getBaseData(c),
|
||||
Wanted: c.FullUrl(),
|
||||
}
|
||||
var res ResponseData
|
||||
res.StatusCode = http.StatusNotFound
|
||||
res.WriteTemplate("404.html", templateData, c.Perf)
|
||||
return res
|
||||
}
|
||||
|
||||
func LoadCommonWebsiteData(c *RequestContext) (bool, ResponseData) {
|
||||
|
|
Loading…
Reference in New Issue