Back to godoc.org
go.uber.org/yarpc/api/encoding

package encoding

v1.46.0
Latest Go to latest
Published: May 21, 2020 | License: MIT | Module: go.uber.org/yarpc

Overview

Package encoding provides APIs for encoding authors.

Index

type Call

type Call struct {
	// contains filtered or unexported fields
}

Call provides information about the current request inside handlers.

func CallFromContext

func CallFromContext(ctx context.Context) *Call

CallFromContext retrieves information about the current incoming request from the given context. Returns nil if the context is not a valid request context.

The object is valid only as long as the request is ongoing.

func (*Call) Caller

func (c *Call) Caller() string

Caller returns the name of the service making this request.

func (*Call) Encoding

func (c *Call) Encoding() transport.Encoding

Encoding returns the encoding for this request.

func (*Call) Header

func (c *Call) Header(k string) string

Header returns the value of the given request header provided with the request.

func (*Call) HeaderNames

func (c *Call) HeaderNames() []string

HeaderNames returns a sorted list of the names of user defined headers provided with this request.

func (*Call) Procedure

func (c *Call) Procedure() string

Procedure returns the name of the procedure being called.

func (*Call) RoutingDelegate

func (c *Call) RoutingDelegate() string

RoutingDelegate returns the routing delegate for this request.

func (*Call) RoutingKey

func (c *Call) RoutingKey() string

RoutingKey returns the routing key for this request.

func (*Call) Service

func (c *Call) Service() string

Service returns the name of the service being called.

func (*Call) ShardKey

func (c *Call) ShardKey() string

ShardKey returns the shard key for this request.

func (*Call) Transport

func (c *Call) Transport() string

Transport returns the name of the transport being called.

func (*Call) WriteResponseHeader

func (c *Call) WriteResponseHeader(k, v string) error

WriteResponseHeader writes headers to the response of this call.

type CallOption

type CallOption struct {
	// contains filtered or unexported fields
}

CallOption defines options that may be passed in at call sites to other services.

Encoding authors should accept yarpc.CallOptions and convert them to encoding.CallOptions to use with NewOutboundCall. This will keep the API for service authors simple.

func ResponseHeaders

func ResponseHeaders(h *map[string]string) CallOption

ResponseHeaders specifies that headers received in response to this request should replace the given map.

func WithHeader

func WithHeader(k, v string) CallOption

WithHeader adds a new header to the request.

func WithRoutingDelegate

func WithRoutingDelegate(rd string) CallOption

WithRoutingDelegate sets the routing delegate for the request.

func WithRoutingKey

func WithRoutingKey(rk string) CallOption

WithRoutingKey sets the routing key for the request.

func WithShardKey

func WithShardKey(sk string) CallOption

WithShardKey sets the shard key for the request.

type InboundCall

type InboundCall struct {
	// contains filtered or unexported fields
}

InboundCall holds information about the inbound call and its response.

Encoding authors may use InboundCall to provide information about the incoming request on the Context and send response headers through WriteResponseHeader.

func NewInboundCall

func NewInboundCall(ctx context.Context) (context.Context, *InboundCall)

NewInboundCall builds a new InboundCall with the given context.

A request context is returned and must be used in place of the original.

func NewInboundCallWithOptions

func NewInboundCallWithOptions(ctx context.Context, opts ...InboundCallOption) (context.Context, *InboundCall)

NewInboundCallWithOptions builds a new InboundCall with the given context and options.

A request context is returned and must be used in place of the original.

func (*InboundCall) ReadFromRequest

func (ic *InboundCall) ReadFromRequest(req *transport.Request) error

ReadFromRequest reads information from the given request.

This information may be queried on the context using functions like Caller, Service, Procedure, etc.

func (*InboundCall) ReadFromRequestMeta

func (ic *InboundCall) ReadFromRequestMeta(reqMeta *transport.RequestMeta) error

ReadFromRequestMeta reads information from the given request.

This information may be queried on the context using functions like Caller, Service, Procedure, etc.

func (*InboundCall) WriteToResponse

func (ic *InboundCall) WriteToResponse(resw transport.ResponseWriter) error

WriteToResponse writes response information from the InboundCall onto the given ResponseWriter.

If used, this must be called before writing the response body to the ResponseWriter.

type InboundCallOption

type InboundCallOption interface {
	// contains filtered or unexported methods
}

InboundCallOption is an option for configuring an InboundCall.

func DisableResponseHeaders

func DisableResponseHeaders() InboundCallOption

DisableResponseHeaders disables response headers for inbound calls.

type OutboundCall

type OutboundCall struct {
	// contains filtered or unexported fields
}

OutboundCall is an outgoing call. It holds per-call options for a request.

Encoding authors may use OutboundCall to provide a CallOption-based request customization mechanism, including returning response headers through ResponseHeaders.

func NewOutboundCall

func NewOutboundCall(options ...CallOption) *OutboundCall

NewOutboundCall constructs a new OutboundCall with the given options.

func NewStreamOutboundCall

func NewStreamOutboundCall(options ...CallOption) (*OutboundCall, error)

NewStreamOutboundCall constructs a new OutboundCall with the given options and enforces the OutboundCall is valid for streams.

func (*OutboundCall) ReadFromResponse

func (c *OutboundCall) ReadFromResponse(ctx context.Context, res *transport.Response) (context.Context, error)

ReadFromResponse reads information from the response for this call.

This should be called only if the request is unary.

func (*OutboundCall) WriteToRequest

func (c *OutboundCall) WriteToRequest(ctx context.Context, req *transport.Request) (context.Context, error)

WriteToRequest fills the given request with request-specific options from the call.

The context MAY be replaced by the OutboundCall.

func (*OutboundCall) WriteToRequestMeta

func (c *OutboundCall) WriteToRequestMeta(ctx context.Context, reqMeta *transport.RequestMeta) (context.Context, error)

WriteToRequestMeta fills the given request with request-specific options from the call.

The context MAY be replaced by the OutboundCall.

type StreamOption

type StreamOption interface {
	// contains filtered or unexported methods
}

StreamOption is an option that may be passed in at streaming function call sites.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier