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