Documentation

Overview

    Package encoding provides APIs for encoding authors.

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    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) CallerProcedure

          func (c *Call) CallerProcedure() string

            CallerProcedure returns the name of the procedure from 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.