servicecontext

package
v3.0.0-rc4+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2021 License: AGPL-3.0 Imports: 16 Imported by: 385

Documentation

Overview

Package servicecontext performs context values read/write, generally through server or client wrappers

Index

Constants

View Source
const (
	ContextMetaJobUuid        = "X-Pydio-Job-Uuid"
	ContextMetaTaskUuid       = "X-Pydio-Task-Uuid"
	ContextMetaTaskActionPath = "X-Pydio-Task-ActionPath"
)
View Source
const (
	HttpMetaExtracted     = "HttpMetaExtracted"
	HttpMetaRemoteAddress = "RemoteAddress"
	HttpMetaRequestMethod = "RequestMethod"
	HttpMetaRequestURI    = "RequestURI"
	HttpMetaHost          = "RequestHost"
	HttpMetaHostname      = "RequestHostname"
	HttpMetaPort          = "RequestPort"
	HttpMetaProtocol      = "HttpProtocol"
	HttpMetaUserAgent     = "UserAgent"
	HttpMetaContentType   = "ContentType"
	HttpMetaCookiesString = "CookiesString"
	ClientTime            = "ClientTime"
	ServerTime            = "ServerTime"
	CtxWorkspaceUuid      = "CtxWorkspaceUuid"
)
View Source
const (
	SpanMetadataId           = "x-pydio-span-id"
	SpanMetadataRootParentId = "x-pydio-span-root-id"
	OperationMetadataId      = "x-pydio-operation-id"
)

Variables

This section is empty.

Functions

func GetConfig

func GetConfig(ctx context.Context) configx.Values

GetConfig returns the config from the context in argument

func GetDAO

func GetDAO(ctx context.Context) dao.DAO

GetDAO returns the dao from the context in argument

func GetOperationID added in v1.4.0

func GetOperationID(ctx context.Context) (string, string)

GetRequestID returns the session id associated to this context

func GetServiceName

func GetServiceName(ctx context.Context) string

GetServiceName returns the service name associated to this context

func HttpMetaExtractorWrapper

func HttpMetaExtractorWrapper(h http.Handler) http.Handler

HttpMetaExtractorWrapper extracts data from the request and puts it in a context Metadata field.

func HttpMetaFromGrpcContext

func HttpMetaFromGrpcContext(ctx context.Context, name string) (string, bool)

HttpMetaFromGrpcContext extracts metadata from context that may have been passed along across services (meta name may be lowered cased)

func HttpRequestInfoToMetadata

func HttpRequestInfoToMetadata(ctx context.Context, req *http.Request) context.Context

HttpRequestInfoToMetadata extracts as much HTTP metadata as possible and stores it in the context as metadata.

func HttpSpanHandlerWrapper

func HttpSpanHandlerWrapper(h http.Handler) http.Handler

Extract data from request and put it in context Metadata field

func NewMetricsHttpWrapper added in v1.4.0

func NewMetricsHttpWrapper(h http.Handler) http.Handler

func NewMetricsWrapper added in v1.4.0

func NewMetricsWrapper(service micro.Service)

func ScanConfig

func ScanConfig(ctx context.Context, target interface{}) error

GetConfig already unmarshalled in a specific format

func SpanClientWrapper

func SpanClientWrapper(c client.Client) client.Client

func SpanHandlerWrapper

func SpanHandlerWrapper(fn server.HandlerFunc) server.HandlerFunc

func SpanSubscriberWrapper added in v1.4.0

func SpanSubscriberWrapper(subscriberFunc server.SubscriberFunc) server.SubscriberFunc

NewDAOSubscriberWrapper wraps a db connection for each subscriber

func WithConfig

func WithConfig(ctx context.Context, config configx.Values) context.Context

WithConfig links a config to the context

func WithDAO

func WithDAO(ctx context.Context, dao dao.DAO) context.Context

WithDAO links a dao to the context

func WithOperationID added in v1.4.0

func WithOperationID(ctx context.Context, operationID string, operationLabel ...string) context.Context

WithSessionID returns a context which knows its session ID

func WithServiceName

func WithServiceName(ctx context.Context, serviceName string) context.Context

WithServiceName returns a context which knows its service name

func WithSpan

func WithSpan(ctx context.Context, s *Span) context.Context

Types

type Span

type Span struct {
	SpanId       string
	ParentId     string
	RootParentId string
}

func NewSpan

func NewSpan() *Span

func NewSpanFromParent

func NewSpanFromParent(s *Span) *Span

func SpanFromContext

func SpanFromContext(ctx context.Context) (*Span, bool)

func SpanFromHeader

func SpanFromHeader(md metadata.Metadata) (*Span, bool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL