1package mux23// Handler stores a route pattern with one of two handler shapes.4// Fn (HandlerFunc, no rlm) is set by HandleFunc; FnRlm (HandlerFuncRlm,5// rlm-aware non-crossing) is set by HandleFuncRlm. Exactly one is set6// per route. RenderRlm dispatches FnRlm with the supplied rlm; Render7// dispatches Fn and panics if the matched route was registered with8// HandleFuncRlm (caller used the wrong dispatch method).9type Handler struct {10 Pattern string11 Fn HandlerFunc12 FnRlm HandlerFuncRlm13}1415type HandlerFunc func(*ResponseWriter, *Request)1617// HandlerFuncRlm is the rlm-aware handler shape — non-crossing18// (`_ int, rlm realm` first params) so callers thread cur as data19// for the handler to forward to downstream crossing functions.20type HandlerFuncRlm func(_ int, rlm realm, res *ResponseWriter, req *Request)2122type ErrHandlerFunc func(*ResponseWriter, *Request) error2324type NotFoundHandler func(*ResponseWriter, *Request)2526// TODO: AutomaticIndex27Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.