Files
fn-serverless/vendor/github.com/grpc-ecosystem/go-grpc-middleware/util/metautils
Andrea Rosa e637661ea2 Adding a way to inject a request ID (#1046)
* Adding a way to inject a request ID

It is very useful to associate a request ID to each incoming request,
this change allows to provide a function to do that via Server Option.
The change comes with a default function which will generate a new
request ID. The request ID is put in the request context along with a
common logger which always logs the request-id

We add gRPC interceptors to the server so it can get the request ID out
of the gRPC metadata and put it in the common logger stored in the
context so as all the log lines using the common logger from the context
will have the request ID logged
2018-06-14 10:40:55 +01:00
..

metautils

import "github.com/grpc-ecosystem/go-grpc-middleware/util/metautils"

Overview

Imported Packages

Index

Package files

doc.go nicemd.go single_key.go

type NiceMD

type NiceMD metadata.MD

NiceMD is a convenience wrapper definiting extra functions on the metadata.

func ExtractIncoming

func ExtractIncoming(ctx context.Context) NiceMD

ExtractIncoming extracts an inbound metadata from the server-side context.

This function always returns a NiceMD wrapper of the metadata.MD, in case the context doesn't have metadata it returns a new empty NiceMD.

func ExtractOutgoing

func ExtractOutgoing(ctx context.Context) NiceMD

ExtractOutgoing extracts an outbound metadata from the client-side context.

This function always returns a NiceMD wrapper of the metadata.MD, in case the context doesn't have metadata it returns a new empty NiceMD.

func (NiceMD) Add

func (m NiceMD) Add(key string, value string) NiceMD

Add retrieves a single value from the metadata.

It works analogously to http.Header.Add, as it appends to any existing values associated with key.

The function is binary-key safe.

func (NiceMD) Clone

func (m NiceMD) Clone(copiedKeys ...string) NiceMD

Clone performs a deep copy of the metadata.MD.

You can specify the lower-case copiedKeys to only copy certain whitelisted keys. If no keys are explicitly whitelisted all keys get copied.

func (NiceMD) Del

func (m NiceMD) Del(key string) NiceMD

func (NiceMD) Get

func (m NiceMD) Get(key string) string

Get retrieves a single value from the metadata.

It works analogously to http.Header.Get, returning the first value if there are many set. If the value is not set, an empty string is returned.

The function is binary-key safe.

func (NiceMD) Set

func (m NiceMD) Set(key string, value string) NiceMD

Set sets the given value in a metadata.

It works analogously to http.Header.Set, overwriting all previous metadata values.

The function is binary-key safe.

func (NiceMD) ToIncoming

func (m NiceMD) ToIncoming(ctx context.Context) context.Context

ToIncoming sets the given NiceMD as a server-side context for dispatching.

This is mostly useful in ServerInterceptors..

func (NiceMD) ToOutgoing

func (m NiceMD) ToOutgoing(ctx context.Context) context.Context

ToOutgoing sets the given NiceMD as a client-side context for dispatching.


Generated by godoc2ghmd