mirror of https://github.com/cloudreve/Cloudreve
26 lines
464 B
Go
26 lines
464 B
Go
package requestinfo
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
// RequestInfoCtx context key for RequestInfo
|
|
type RequestInfoCtx struct{}
|
|
|
|
// RequestInfoFromContext retrieves RequestInfo from context
|
|
func RequestInfoFromContext(ctx context.Context) *RequestInfo {
|
|
v, ok := ctx.Value(RequestInfoCtx{}).(*RequestInfo)
|
|
if !ok {
|
|
return nil
|
|
}
|
|
|
|
return v
|
|
}
|
|
|
|
// RequestInfo store request info for audit
|
|
type RequestInfo struct {
|
|
Host string
|
|
IP string
|
|
UserAgent string
|
|
}
|