Default {{.Host}} to https://
This commit is contained in:
parent
0bffde1dc1
commit
8cbe984ba4
25
views.go
25
views.go
@ -20,6 +20,8 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const defaultScheme = "https"
|
||||||
|
|
||||||
// Plain text templates
|
// Plain text templates
|
||||||
var textBaseTemplate *text.Template = text.Must(text.New("").Parse(string(MustAsset("templates/txt/base.txt.tmpl"))))
|
var textBaseTemplate *text.Template = text.Must(text.New("").Parse(string(MustAsset("templates/txt/base.txt.tmpl"))))
|
||||||
var htmlBaseTemplate *html.Template = html.Must(html.New("").Parse(string(MustAsset("templates/html/base.html.tmpl"))))
|
var htmlBaseTemplate *html.Template = html.Must(html.New("").Parse(string(MustAsset("templates/html/base.html.tmpl"))))
|
||||||
@ -83,14 +85,6 @@ func mapExtend(m map[string]interface{}, key string, value interface{}) {
|
|||||||
m[key] = value
|
m[key] = value
|
||||||
}
|
}
|
||||||
|
|
||||||
func (rl *rushlink) resolveHost(r *http.Request) string {
|
|
||||||
rlHost := rl.Host()
|
|
||||||
if rlHost != nil {
|
|
||||||
return rlHost.String()
|
|
||||||
}
|
|
||||||
return r.Host
|
|
||||||
}
|
|
||||||
|
|
||||||
func (rl *rushlink) render(w http.ResponseWriter, r *http.Request, tmplName string, data map[string]interface{}) {
|
func (rl *rushlink) render(w http.ResponseWriter, r *http.Request, tmplName string, data map[string]interface{}) {
|
||||||
contentType, err := resolveResponseContentType(r, []string{"text/plain", "text/html"})
|
contentType, err := resolveResponseContentType(r, []string{"text/plain", "text/html"})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -157,6 +151,21 @@ func (rl *rushlink) renderInternalServerError(w http.ResponseWriter, r *http.Req
|
|||||||
rl.renderError(w, r, http.StatusInternalServerError, msg)
|
rl.renderError(w, r, http.StatusInternalServerError, msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// resolveHost constructs the `scheme://host` part of rushlinks public API.
|
||||||
|
//
|
||||||
|
// If the `--host` flag is set, it will return that URL.
|
||||||
|
// Otherwise, this function will return 'https://{Host}', where `{Host}` is
|
||||||
|
// the value provided by the client in the HTTP `Host` header. This value may
|
||||||
|
// be invalid, but it is impossible to handle this error (because we *cannot*
|
||||||
|
// know the real host).
|
||||||
|
func (rl *rushlink) resolveHost(r *http.Request) string {
|
||||||
|
rlHost := rl.Host()
|
||||||
|
if rlHost != nil {
|
||||||
|
return rlHost.String()
|
||||||
|
}
|
||||||
|
return defaultScheme + r.Host
|
||||||
|
}
|
||||||
|
|
||||||
// Try to resolve the preferred content-type for the response to this request.
|
// Try to resolve the preferred content-type for the response to this request.
|
||||||
//
|
//
|
||||||
// This is done by reading from the `types` argument. If one of them matches
|
// This is done by reading from the `types` argument. If one of them matches
|
||||||
|
Loading…
Reference in New Issue
Block a user