29 lines
654 B
Go
29 lines
654 B
Go
package handler
|
|
|
|
import (
|
|
"context"
|
|
"net/http"
|
|
)
|
|
|
|
// httpContext is wrapper around context.Context that also carries the
|
|
// corresponding HTTP request and response writer, as well as an
|
|
// optional body reader
|
|
// TODO: Consider including HTTPResponse as well
|
|
type httpContext struct {
|
|
context.Context
|
|
|
|
res http.ResponseWriter
|
|
req *http.Request
|
|
body *bodyReader
|
|
}
|
|
|
|
func newContext(w http.ResponseWriter, r *http.Request) *httpContext {
|
|
return &httpContext{
|
|
// TODO: Try to reuse the request's context in the future
|
|
Context: context.Background(),
|
|
res: w,
|
|
req: r,
|
|
body: nil, // body can be filled later for PATCH requests
|
|
}
|
|
}
|