114 lines
4 KiB
Markdown
114 lines
4 KiB
Markdown
|
# metautils
|
||
|
`import "github.com/grpc-ecosystem/go-grpc-middleware/util/metautils"`
|
||
|
|
||
|
* [Overview](#pkg-overview)
|
||
|
* [Imported Packages](#pkg-imports)
|
||
|
* [Index](#pkg-index)
|
||
|
|
||
|
## <a name="pkg-overview">Overview</a>
|
||
|
|
||
|
## <a name="pkg-imports">Imported Packages</a>
|
||
|
|
||
|
- [golang.org/x/net/context](https://godoc.org/golang.org/x/net/context)
|
||
|
- [google.golang.org/grpc/metadata](https://godoc.org/google.golang.org/grpc/metadata)
|
||
|
|
||
|
## <a name="pkg-index">Index</a>
|
||
|
* [type NiceMD](#NiceMD)
|
||
|
* [func ExtractIncoming(ctx context.Context) NiceMD](#ExtractIncoming)
|
||
|
* [func ExtractOutgoing(ctx context.Context) NiceMD](#ExtractOutgoing)
|
||
|
* [func (m NiceMD) Add(key string, value string) NiceMD](#NiceMD.Add)
|
||
|
* [func (m NiceMD) Clone(copiedKeys ...string) NiceMD](#NiceMD.Clone)
|
||
|
* [func (m NiceMD) Del(key string) NiceMD](#NiceMD.Del)
|
||
|
* [func (m NiceMD) Get(key string) string](#NiceMD.Get)
|
||
|
* [func (m NiceMD) Set(key string, value string) NiceMD](#NiceMD.Set)
|
||
|
* [func (m NiceMD) ToIncoming(ctx context.Context) context.Context](#NiceMD.ToIncoming)
|
||
|
* [func (m NiceMD) ToOutgoing(ctx context.Context) context.Context](#NiceMD.ToOutgoing)
|
||
|
|
||
|
#### <a name="pkg-files">Package files</a>
|
||
|
[doc.go](./doc.go) [nicemd.go](./nicemd.go) [single_key.go](./single_key.go)
|
||
|
|
||
|
## <a name="NiceMD">type</a> [NiceMD](./nicemd.go#L14)
|
||
|
``` go
|
||
|
type NiceMD metadata.MD
|
||
|
```
|
||
|
NiceMD is a convenience wrapper definiting extra functions on the metadata.
|
||
|
|
||
|
### <a name="ExtractIncoming">func</a> [ExtractIncoming](./nicemd.go#L20)
|
||
|
``` go
|
||
|
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.
|
||
|
|
||
|
### <a name="ExtractOutgoing">func</a> [ExtractOutgoing](./nicemd.go#L32)
|
||
|
``` go
|
||
|
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.
|
||
|
|
||
|
### <a name="NiceMD.Add">func</a> (NiceMD) [Add](./nicemd.go#L122)
|
||
|
``` go
|
||
|
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.
|
||
|
|
||
|
### <a name="NiceMD.Clone">func</a> (NiceMD) [Clone](./nicemd.go#L44)
|
||
|
``` go
|
||
|
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.
|
||
|
|
||
|
### <a name="NiceMD.Del">func</a> (NiceMD) [Del](./nicemd.go#L100)
|
||
|
``` go
|
||
|
func (m NiceMD) Del(key string) NiceMD
|
||
|
```
|
||
|
|
||
|
### <a name="NiceMD.Get">func</a> (NiceMD) [Get](./nicemd.go#L85)
|
||
|
``` go
|
||
|
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.
|
||
|
|
||
|
### <a name="NiceMD.Set">func</a> (NiceMD) [Set](./nicemd.go#L111)
|
||
|
``` go
|
||
|
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.
|
||
|
|
||
|
### <a name="NiceMD.ToIncoming">func</a> (NiceMD) [ToIncoming](./nicemd.go#L75)
|
||
|
``` go
|
||
|
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..
|
||
|
|
||
|
### <a name="NiceMD.ToOutgoing">func</a> (NiceMD) [ToOutgoing](./nicemd.go#L68)
|
||
|
``` go
|
||
|
func (m NiceMD) ToOutgoing(ctx context.Context) context.Context
|
||
|
```
|
||
|
ToOutgoing sets the given NiceMD as a client-side context for dispatching.
|
||
|
|
||
|
- - -
|
||
|
Generated by [godoc2ghmd](https://github.com/GandalfUK/godoc2ghmd)
|