multiple

package
v5.4.0+incompatible Latest Latest
Warning

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

Go to latest
Published: May 15, 2018 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package multiple is a generated protocol buffer package.

test to make sure that multiple proto files in one package works

It is generated from these files:

multiple1.proto
multiple2.proto

It has these top-level messages:

Msg1
Msg2

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

test to make sure that multiple proto files in one package works

It is generated from these files:

multiple1.proto
multiple2.proto

Index

Constants

View Source
const Svc1PathPrefix = "/twirp/twirp.internal.twirptest.multiple.Svc1/"

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

View Source
const Svc2PathPrefix = "/twirp/twirp.internal.twirptest.multiple.Svc2/"

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

Variables

This section is empty.

Functions

func WriteError

func WriteError(resp http.ResponseWriter, err error)

WriteError writes an HTTP response with a valid Twirp error format. If err is not a twirp.Error, it will get wrapped with twirp.InternalErrorWith(err)

Types

type HTTPClient

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 Msg1

type Msg1 struct {
}

func (*Msg1) Descriptor

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

func (*Msg1) ProtoMessage

func (*Msg1) ProtoMessage()

func (*Msg1) Reset

func (m *Msg1) Reset()

func (*Msg1) String

func (m *Msg1) String() string

type Msg2

type Msg2 struct {
}

func (*Msg2) Descriptor

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

func (*Msg2) ProtoMessage

func (*Msg2) ProtoMessage()

func (*Msg2) Reset

func (m *Msg2) Reset()

func (*Msg2) String

func (m *Msg2) String() string

type Svc1

type Svc1 interface {
	Send(context.Context, *Msg1) (*Msg1, error)
}

func NewSvc1JSONClient

func NewSvc1JSONClient(addr string, client HTTPClient) Svc1

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

func NewSvc1ProtobufClient

func NewSvc1ProtobufClient(addr string, client HTTPClient) Svc1

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

type Svc2

type Svc2 interface {
	Send(context.Context, *Msg2) (*Msg2, error)

	SamePackageProtoImport(context.Context, *Msg1) (*Msg1, error)
}

func NewSvc2JSONClient

func NewSvc2JSONClient(addr string, client HTTPClient) Svc2

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

func NewSvc2ProtobufClient

func NewSvc2ProtobufClient(addr string, client HTTPClient) Svc2

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

type TwirpServer

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
}

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 NewSvc1Server

func NewSvc1Server(svc Svc1, hooks *twirp.ServerHooks) TwirpServer

func NewSvc2Server

func NewSvc2Server(svc Svc2, hooks *twirp.ServerHooks) TwirpServer

Jump to

Keyboard shortcuts

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