google app engine - Middleware error handling -


i have chain of claw http.handler middlewares, first handler might write error response:

http.error(w, err.error(), http.statusunauthorized) 

however other middlewares continue executing, don't want to. best way go this? tried checking status header after calling http.error(), see if other 200:

status := w.header().get("status") 

but status empty string.

you can use "naked" return after error stop middleware chain execution.

from http documentation:

error replies request specified error message , http code. not otherwise end request; caller should ensure no further writes done w. error message should plain text.

from custom handlers , avoiding globals in go web applications :

func myhandler(w http.responsewriter, r *http.request) {     session, err := store.get(r, "myapp")     if err != nil {         http.error(w, http.statustext(http.statusinternalservererror), http.statusinternalservererror)         return // forget return, , handler continue on     }     .../... } 

Comments