Documentation

Overview

    Package endpoint defines an abstraction for RPCs.

    Endpoints are a fundamental building block for many Go kit components. Endpoints are implemented by servers, and called by clients.

    Index

    Examples

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func Nop

    func Nop(context.Context, interface{}) (interface{}, error)

      Nop is an endpoint that does nothing and returns a nil error. Useful for tests.

      Types

      type Endpoint

      type Endpoint func(ctx context.Context, request interface{}) (response interface{}, err error)

        Endpoint is the fundamental building block of servers and clients. It represents a single RPC method.

        type Failer

        type Failer interface {
        	Failed() error
        }

          Failer may be implemented by Go kit response types that contain business logic error details. If Failed returns a non-nil error, the Go kit transport layer may interpret this as a business logic error, and may encode it differently than a regular, successful response.

          It's not necessary for your response types to implement Failer, but it may help for more sophisticated use cases. The addsvc example shows how Failer should be used by a complete application.

          type Middleware

          type Middleware func(Endpoint) Endpoint

            Middleware is a chainable behavior modifier for endpoints.

            func Chain

            func Chain(outer Middleware, others ...Middleware) Middleware

              Chain is a helper function for composing middlewares. Requests will traverse them in the order they're declared. That is, the first middleware is treated as the outermost middleware.

              Example
              Output:
              
              first pre
              second pre
              third pre
              my endpoint!
              third post
              second post
              first post
              

              Source Files