servicecontext

package
v1.2.4 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2018 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	HttpMetaExtracted      = "HttpMetaExtracted"
	HttpMetaRemoteAddress  = "RemoteAddress"
	HttpMetaRequestMethod  = "RequestMethod"
	HttpMetaRequestURI     = "RequestURI"
	HttpMetaProtocol       = "HttpProtocol"
	HttpMetaUserAgent      = "UserAgent"
	HttpMetaContentType    = "ContentType"
	HttpMetaCoookiesString = "CookiesString"
	ClientTime             = "ClientTime"
	ServerTime             = "ServerTime"
)
View Source
const (
	SpanMetadataId           = "x-pydio-span-id"
	SpanMetadataRootParentId = "x-pydio-span-root-id"
)

Variables

This section is empty.

Functions

func GetConfig

func GetConfig(ctx context.Context) common.ConfigValues

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 GetRequestID

func GetRequestID(ctx context.Context) string

GetRequestID returns the session id associated to this context

func GetServiceColor

func GetServiceColor(ctx context.Context) uint64

GetServiceColor returns the service name associated to this context

func GetServiceName

func GetServiceName(ctx context.Context) string

GetServiceName returns the service name associated to this context

func GetSessionID

func GetSessionID(ctx context.Context) string

GetSessionID returns the session id associated to this context

func HttpMetaExtractorWrapper

func HttpMetaExtractorWrapper(h http.Handler) http.Handler

Extract data from request and put it in context Metadata field

func HttpRequestInfoToMetadata

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

Try to extract as much HTTP metadata as possible and store it in context metadata

func HttpSpanHandlerWrapper

func HttpSpanHandlerWrapper(h http.Handler) http.Handler

Extract data from request and put it in context Metadata field

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 WithConfig

func WithConfig(ctx context.Context, config common.ConfigValues) context.Context

WithConfig links a config to the context

func WithConn

func WithConn(ctx context.Context, conn dao.Conn) context.Context

WithConn links a storage connection to the context

func WithDAO

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

WithDAO links a dao to the context

func WithRequestID

func WithRequestID(ctx context.Context, requestID string) context.Context

WithRequestID returns a context which knows its request ID

func WithServiceColor

func WithServiceColor(ctx context.Context, color ...uint64) context.Context

WithServiceColor returns a context which knows its service assigned color

func WithServiceName

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

WithServiceName returns a context which knows its service name

func WithSessionID

func WithSessionID(ctx context.Context, sessionID string) context.Context

WithSessionID returns a context which knows its session ID

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