mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-16 04:48:04 +00:00
44 lines
811 B
Go
44 lines
811 B
Go
|
package info
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
)
|
||
|
|
||
|
type activityInfoKey struct{}
|
||
|
|
||
|
type ActivityInfo struct {
|
||
|
Method string
|
||
|
Path string
|
||
|
RequestMethod string
|
||
|
}
|
||
|
|
||
|
func (a *ActivityInfo) IntoContext(ctx context.Context) context.Context {
|
||
|
return context.WithValue(ctx, activityInfoKey{}, a)
|
||
|
}
|
||
|
|
||
|
func ActivityInfoFromContext(ctx context.Context) *ActivityInfo {
|
||
|
m := ctx.Value(activityInfoKey{})
|
||
|
if m == nil {
|
||
|
return &ActivityInfo{}
|
||
|
}
|
||
|
ai, ok := m.(*ActivityInfo)
|
||
|
if !ok {
|
||
|
return &ActivityInfo{}
|
||
|
}
|
||
|
return ai
|
||
|
}
|
||
|
|
||
|
func (a *ActivityInfo) SetMethod(method string) *ActivityInfo {
|
||
|
a.Method = method
|
||
|
return a
|
||
|
}
|
||
|
func (a *ActivityInfo) SetPath(path string) *ActivityInfo {
|
||
|
a.Path = path
|
||
|
return a
|
||
|
}
|
||
|
|
||
|
func (a *ActivityInfo) SetRequestMethod(method string) *ActivityInfo {
|
||
|
a.RequestMethod = method
|
||
|
return a
|
||
|
}
|