Comments: fixes #9 #10
@@ -68,6 +68,7 @@ func (cs *Service) User(r *http.Request) (string, bool) {
|
|||||||
func (cs *Service) ServeComments(post string, w http.ResponseWriter, r *http.Request) error {
|
func (cs *Service) ServeComments(post string, w http.ResponseWriter, r *http.Request) error {
|
||||||
user, allowed := cs.User(r)
|
user, allowed := cs.User(r)
|
||||||
if !allowed {
|
if !allowed {
|
||||||
|
fmt.Fprintf(w, "<a href='/login'>click here to enter your name and the comments password</a>")
|
||||||
w.WriteHeader(401)
|
w.WriteHeader(401)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -119,10 +119,6 @@ func (ch *CaddyHugo) Auth(r *http.Request) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ch *CaddyHugo) CommentAuth(r *http.Request) bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ch *CaddyHugo) Match(r *http.Request) bool {
|
func (ch *CaddyHugo) Match(r *http.Request) bool {
|
||||||
if strings.HasPrefix(r.URL.Path, "/media/") {
|
if strings.HasPrefix(r.URL.Path, "/media/") {
|
||||||
return true
|
return true
|
||||||
@@ -259,13 +255,13 @@ func (ch *CaddyHugo) commentsLogin(r *http.Request, w http.ResponseWriter) (int,
|
|||||||
|
|
||||||
_, ok := ch.Comments.User(r)
|
_, ok := ch.Comments.User(r)
|
||||||
if !ok {
|
if !ok {
|
||||||
w.Header().Set("WWW-Authenticate", `Basic realm="Give your name and the password. Ask Dan or Stephen for the password.`)
|
w.Header().Set("WWW-Authenticate", `Basic realm="Log in with your name and the password. Ask Dan or Stephen for the password."`)
|
||||||
return 401, nil
|
w.WriteHeader(401)
|
||||||
|
fmt.Fprintf(w, "<html><body>Log in with your name and the password. Ask Dan or Stephen for the password. <a href=%q>go back</a></body></html>", r.Referer())
|
||||||
|
return 200, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if strings.HasSuffix(r.Referer(), "/comments") {
|
http.Redirect(w, r, r.Referer(), http.StatusFound)
|
||||||
http.Redirect(w, r, r.Referer(), http.StatusFound)
|
|
||||||
}
|
|
||||||
|
|
||||||
return 200, nil
|
return 200, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user