mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-08 07:23:10 -06:00
vendor: Update github.com/matrix-org/util
This commit is contained in:
parent
f2437be52b
commit
5d4432218b
2
vendor/manifest
vendored
2
vendor/manifest
vendored
|
|
@ -98,7 +98,7 @@
|
|||
{
|
||||
"importpath": "github.com/matrix-org/util",
|
||||
"repository": "https://github.com/matrix-org/util",
|
||||
"revision": "bc9d5e2d2f68a2ca279fce0fa2f28a91ecf301ed",
|
||||
"revision": "8b11d9882e131d58ff40525c8f7b9a7f4b811a43",
|
||||
"branch": "master"
|
||||
},
|
||||
{
|
||||
|
|
|
|||
31
vendor/src/github.com/matrix-org/util/json.go
vendored
31
vendor/src/github.com/matrix-org/util/json.go
vendored
|
|
@ -93,23 +93,30 @@ func Protect(handler http.HandlerFunc) http.HandlerFunc {
|
|||
}
|
||||
}
|
||||
|
||||
// SetupRequestLogging sets up standard logging for http.Requests.
|
||||
// http.Requests will have a logger (with a request ID/method/path logged) attached to the Context.
|
||||
// This can be accessed via GetLogger(Context).
|
||||
func SetupRequestLogging(req *http.Request) {
|
||||
reqID := RandomString(12)
|
||||
// Set a Logger and request ID on the context
|
||||
ctx := context.WithValue(req.Context(), ctxValueLogger, log.WithFields(log.Fields{
|
||||
"req.method": req.Method,
|
||||
"req.path": req.URL.Path,
|
||||
"req.id": reqID,
|
||||
}))
|
||||
ctx = context.WithValue(ctx, ctxValueRequestID, reqID)
|
||||
req = req.WithContext(ctx)
|
||||
|
||||
logger := GetLogger(req.Context())
|
||||
logger.Print("Incoming request")
|
||||
}
|
||||
|
||||
// MakeJSONAPI creates an HTTP handler which always responds to incoming requests with JSON responses.
|
||||
// Incoming http.Requests will have a logger (with a request ID/method/path logged) attached to the Context.
|
||||
// This can be accessed via GetLogger(Context).
|
||||
func MakeJSONAPI(handler JSONRequestHandler) http.HandlerFunc {
|
||||
return Protect(func(w http.ResponseWriter, req *http.Request) {
|
||||
reqID := RandomString(12)
|
||||
// Set a Logger and request ID on the context
|
||||
ctx := context.WithValue(req.Context(), ctxValueLogger, log.WithFields(log.Fields{
|
||||
"req.method": req.Method,
|
||||
"req.path": req.URL.Path,
|
||||
"req.id": reqID,
|
||||
}))
|
||||
ctx = context.WithValue(ctx, ctxValueRequestID, reqID)
|
||||
req = req.WithContext(ctx)
|
||||
|
||||
logger := GetLogger(req.Context())
|
||||
logger.Print("Incoming request")
|
||||
SetupRequestLogging(req)
|
||||
|
||||
if req.Method == "OPTIONS" {
|
||||
SetCORSHeaders(w)
|
||||
|
|
|
|||
Loading…
Reference in a new issue