Den eneste anden løsning, jeg har set, for eksempel i "Overførsel af kontekst til grænseflademetoder" er:
opret en struct
der accepterer en indlejret kontekst og vores handler
type, og vi opfylder stadig http.Handler
interface takket være ServeHTTP
.
I dit tilfælde er struct
ville inkludere pool
, og handler
funktion.
type appContext struct {
pool Pool
}
type appHandler struct {
*appContext
h func(a *appContext, w http.ResponseWriter, r *http.Request) (int, error)
}
func (ah appHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
...
}
func main() {
context := &appContext{
pool: ...,
// any other data
}
}