twirp: github.com/twitchtv/twirp/internal/twirptest Index | Files | Directories

package twirptest

import "github.com/twitchtv/twirp/internal/twirptest"

package twirptest provides servers for use in tests and for testing the cleanliness of the generated output of protoc-gen-twirp.

Package twirptest is a generated twirp stub package. This code was generated with github.com/twitchtv/twirp/protoc-gen-twirp v5.10.1.

It is generated from these files:

service.proto

Index

Package Files

doc.go gen.go hatmakers.go service.pb.go service.twirp.go testlogging.go

Constants

const HaberdasherPathPrefix = "/twirp/twirp.internal.twirptest.Haberdasher/"

HaberdasherPathPrefix is used for all URL paths on a twirp Haberdasher server. Requests are always: POST HaberdasherPathPrefix/method It can be used in an HTTP mux to route twirp requests along with non-twirp requests on other routes.

func WriteError Uses

func WriteError(resp http.ResponseWriter, err error)

WriteError writes an HTTP response with a valid Twirp error format (code, msg, meta). Useful outside of the Twirp server (e.g. http middleware), but does not trigger hooks. If err is not a twirp.Error, it will get wrapped with twirp.InternalErrorWith(err)

type HTTPClient Uses

type HTTPClient interface {
    Do(req *http.Request) (*http.Response, error)
}

HTTPClient is the interface used by generated clients to send HTTP requests. It is fulfilled by *(net/http).Client, which is sufficient for most users. Users can provide their own implementation for special retry policies.

HTTPClient implementations should not follow redirects. Redirects are automatically disabled if *(net/http).Client is passed to client constructors. See the withoutRedirects function in this file for more details.

type Haberdasher Uses

type Haberdasher interface {
    // MakeHat produces a hat of mysterious, randomly-selected color!
    MakeHat(context.Context, *Size) (*Hat, error)
}

A Haberdasher makes hats for clients.

func ErroringHatmaker Uses

func ErroringHatmaker(err error) Haberdasher

Always errors.

func HaberdasherFunc Uses

func HaberdasherFunc(f func(ctx context.Context, s *Size) (*Hat, error)) Haberdasher

HaberdasherFunc is a convenience to convert a function into a Haberdasher service.

func NewHaberdasherJSONClient Uses

func NewHaberdasherJSONClient(addr string, client HTTPClient, opts ...twirp.ClientOption) Haberdasher

NewHaberdasherJSONClient creates a JSON client that implements the Haberdasher interface. It communicates using JSON and can be configured with a custom HTTPClient.

func NewHaberdasherProtobufClient Uses

func NewHaberdasherProtobufClient(addr string, client HTTPClient, opts ...twirp.ClientOption) Haberdasher

NewHaberdasherProtobufClient creates a Protobuf client that implements the Haberdasher interface. It communicates using Protobuf and can be configured with a custom HTTPClient.

func NilHatmaker Uses

func NilHatmaker() Haberdasher

Returns nil, nil

func NoopHatmaker Uses

func NoopHatmaker() Haberdasher

Always makes a blank hat.

func PanickyHatmaker Uses

func PanickyHatmaker(p interface{}) Haberdasher

Panics.

func PickyHatmaker Uses

func PickyHatmaker(want int32) Haberdasher

Makes a hat, as long as its the size they like

func ServerAndClient Uses

func ServerAndClient(h Haberdasher, hooks *twirp.ServerHooks) (*httptest.Server, Haberdasher)

func SlowHatmaker Uses

func SlowHatmaker(dur time.Duration) Haberdasher

Makes a hat, but sure takes their time

func TwirpServerAndClient Uses

func TwirpServerAndClient(hooks *twirp.ServerHooks) (*httptest.Server, Haberdasher)

type Hat Uses

type Hat struct {
    Size                 int32    `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
    Color                string   `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"`
    Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*Hat) Descriptor Uses

func (*Hat) Descriptor() ([]byte, []int)

func (*Hat) GetColor Uses

func (m *Hat) GetColor() string

func (*Hat) GetName Uses

func (m *Hat) GetName() string

func (*Hat) GetSize Uses

func (m *Hat) GetSize() int32

func (*Hat) ProtoMessage Uses

func (*Hat) ProtoMessage()

func (*Hat) Reset Uses

func (m *Hat) Reset()

func (*Hat) String Uses

func (m *Hat) String() string

func (*Hat) XXX_DiscardUnknown Uses

func (m *Hat) XXX_DiscardUnknown()

func (*Hat) XXX_Marshal Uses

func (m *Hat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Hat) XXX_Merge Uses

func (m *Hat) XXX_Merge(src proto.Message)

func (*Hat) XXX_Size Uses

func (m *Hat) XXX_Size() int

func (*Hat) XXX_Unmarshal Uses

func (m *Hat) XXX_Unmarshal(b []byte) error

type Size Uses

type Size struct {
    Inches               int32    `protobuf:"varint,1,opt,name=inches,proto3" json:"inches,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*Size) Descriptor Uses

func (*Size) Descriptor() ([]byte, []int)

func (*Size) GetInches Uses

func (m *Size) GetInches() int32

func (*Size) ProtoMessage Uses

func (*Size) ProtoMessage()

func (*Size) Reset Uses

func (m *Size) Reset()

func (*Size) String Uses

func (m *Size) String() string

func (*Size) XXX_DiscardUnknown Uses

func (m *Size) XXX_DiscardUnknown()

func (*Size) XXX_Marshal Uses

func (m *Size) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Size) XXX_Merge Uses

func (m *Size) XXX_Merge(src proto.Message)

func (*Size) XXX_Size Uses

func (m *Size) XXX_Size() int

func (*Size) XXX_Unmarshal Uses

func (m *Size) XXX_Unmarshal(b []byte) error

type TwirpServer Uses

type TwirpServer interface {
    http.Handler
    // ServiceDescriptor returns gzipped bytes describing the .proto file that
    // this service was generated from. Once unzipped, the bytes can be
    // unmarshalled as a
    // github.com/golang/protobuf/protoc-gen-go/descriptor.FileDescriptorProto.
    //
    // The returned integer is the index of this particular service within that
    // FileDescriptorProto's 'Service' slice of ServiceDescriptorProtos. This is a
    // low-level field, expected to be used for reflection.
    ServiceDescriptor() ([]byte, int)
    // ProtocGenTwirpVersion is the semantic version string of the version of
    // twirp used to generate this file.
    ProtocGenTwirpVersion() string
    // PathPrefix returns the HTTP URL path prefix for all methods handled by this
    // service. This can be used with an HTTP mux to route twirp requests
    // alongside non-twirp requests on one HTTP listener.
    PathPrefix() string
}

TwirpServer is the interface generated server structs will support: they're HTTP handlers with additional methods for accessing metadata about the service. Those accessors are a low-level API for building reflection tools. Most people can think of TwirpServers as just http.Handlers.

func NewHaberdasherServer Uses

func NewHaberdasherServer(svc Haberdasher, hooks *twirp.ServerHooks) TwirpServer

Directories

PathSynopsis
empty_servicePackage empty_service is a generated twirp stub package.
gogo_compatPackage gogo_compat is a generated protocol buffer package.
google_protobuf_importsPackage google_protobuf_imports is a generated twirp stub package.
importablePackage importable is a generated twirp stub package.
importerPackage importer is a generated twirp stub package.
importmapping
importmapping/xPackage x is a generated twirp stub package.
importmapping/y
multiplePackage multiple is a generated twirp stub package.
no_package_namePackage no_package_name is a generated twirp stub package.
no_package_name_importerPackage no_package_name_importer is a generated twirp stub package.
protoPackage proto is a generated twirp stub package.
service_method_same_namePackage service_method_same_name is a generated twirp stub package.
snake_case_namesPackage snake_case_names is a generated twirp stub package.
source_relativePackage source_relative is a generated twirp stub package.

Package twirptest imports 19 packages (graph). Updated 2020-01-30. Refresh now. Tools for package owners.