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 ¶
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.
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 ¶
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) ProtoMessage ¶
func (*Msg1) ProtoMessage()
type Msg2 ¶
type Msg2 struct { }
func (*Msg2) Descriptor ¶
func (*Msg2) ProtoMessage ¶
func (*Msg2) ProtoMessage()
type Svc1 ¶
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