callctx

package
v2.12.3 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2024 License: BSD-3-Clause Imports: 2 Imported by: 4

Documentation

Overview

Package callctx provides helpers for storing and retrieving values out of context.Context. These values are used by our client libraries in various ways across the stack.

Index

Examples

Constants

View Source
const (
	// XGoogFieldMaskHeader is the canonical header key for the [System Parameter]
	// that specifies the response read mask. The value(s) for this header
	// must adhere to format described in [fieldmaskpb].
	//
	// [System Parameter]: https://cloud.google.com/apis/docs/system-parameters
	// [fieldmaskpb]: https://google.golang.org/protobuf/types/known/fieldmaskpb
	XGoogFieldMaskHeader = "x-goog-fieldmask"
)

Variables

This section is empty.

Functions

func HeadersFromContext

func HeadersFromContext(ctx context.Context) map[string][]string

HeadersFromContext retrieves headers set from SetHeaders. These headers can then be cast to http.Header or metadata.MD to send along on requests.

func SetHeaders

func SetHeaders(ctx context.Context, keyvals ...string) context.Context

SetHeaders stores key value pairs in the returned context that can later be retrieved by HeadersFromContext. Values stored in this manner will automatically be retrieved by client libraries and sent as outgoing headers on all requests. keyvals should have a corresponding value for every key provided. If there is an odd number of keyvals this method will panic.

Example
package main

import (
	"context"
	"fmt"

	"github.com/googleapis/gax-go/v2/callctx"
)

func main() {
	ctx := context.Background()
	ctx = callctx.SetHeaders(ctx, "key", "value")

	// Send the returned context to the request you are making. Later on these
	// values will be retrieved and set on outgoing requests.

	headers := callctx.HeadersFromContext(ctx)
	fmt.Println(headers["key"][0])
}
Output:

value

Types

This section is empty.

Jump to

Keyboard shortcuts

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