Remove Redirect and PermanentRedirect functions

Use (*ResponseWriter).WriteHeader instead.
This commit is contained in:
Adnan Maolood 2020-10-31 16:51:10 -04:00
parent ca8e0166fc
commit 63b9b484d1
4 changed files with 6 additions and 16 deletions

View File

@ -70,7 +70,7 @@ func login(w *gemini.ResponseWriter, r *gemini.Request) {
sessions[fingerprint] = &session{
username: username,
}
gemini.Redirect(w, "/password")
w.WriteHeader(gemini.StatusRedirect, "/password")
}
func loginPassword(w *gemini.ResponseWriter, r *gemini.Request) {
@ -91,7 +91,7 @@ func loginPassword(w *gemini.ResponseWriter, r *gemini.Request) {
expected := logins[session.username].password
if password == expected {
session.authorized = true
gemini.Redirect(w, "/profile")
w.WriteHeader(gemini.StatusRedirect, "/profile")
} else {
gemini.SensitiveInput(w, r, "Wrong password. Try again")
}

4
mux.go
View File

@ -138,14 +138,14 @@ func (mux *ServeMux) Respond(w *ResponseWriter, r *Request) {
// If the given path is /tree and its handler is not registered,
// redirect for /tree/.
if u, ok := mux.redirectToPathSlash(path, r.URL); ok {
Redirect(w, u.String())
w.WriteHeader(StatusRedirect, u.String())
return
}
if path != r.URL.Path {
u := *r.URL
u.Path = path
Redirect(w, u.String())
w.WriteHeader(StatusRedirect, u.String())
return
}

View File

@ -319,16 +319,6 @@ func SensitiveInput(w *ResponseWriter, r *Request, prompt string) (string, bool)
return "", false
}
// Redirect replies to the request with a redirect to the given URL.
func Redirect(w *ResponseWriter, url string) {
w.WriteHeader(StatusRedirect, url)
}
// PermanentRedirect replies to the request with a permanent redirect to the given URL.
func PermanentRedirect(w *ResponseWriter, url string) {
w.WriteHeader(StatusRedirectPermanent, url)
}
// Certificate returns the request certificate. If one is not provided,
// it returns nil and responds with StatusCertificateRequired.
func Certificate(w *ResponseWriter, r *Request) (*x509.Certificate, bool) {

View File

@ -8,7 +8,7 @@ const (
StatusSensitiveInput Status = 11
StatusSuccess Status = 20
StatusRedirect Status = 30
StatusRedirectPermanent Status = 31
StatusPermanentRedirect Status = 31
StatusTemporaryFailure Status = 40
StatusServerUnavailable Status = 41
StatusCGIError Status = 42
@ -52,7 +52,7 @@ func (s Status) Message() string {
return "Success"
case StatusRedirect:
return "Redirect"
case StatusRedirectPermanent:
case StatusPermanentRedirect:
return "Permanent redirect"
case StatusTemporaryFailure:
return "Temporary failure"