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

package google_protobuf_imports

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

Package google_protobuf_imports 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

gen.go service.pb.go service.twirp.go

Constants

const SvcPathPrefix = "/twirp/twirp.internal.twirptest.use_empty.Svc/"

SvcPathPrefix is used for all URL paths on a twirp Svc server. Requests are always: POST SvcPathPrefix/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 Svc Uses

type Svc interface {
    Send(context.Context, *google_protobuf1.StringValue) (*google_protobuf.Empty, error)
}

func NewSvcJSONClient Uses

func NewSvcJSONClient(addr string, client HTTPClient, opts ...twirp.ClientOption) Svc

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

func NewSvcProtobufClient Uses

func NewSvcProtobufClient(addr string, client HTTPClient, opts ...twirp.ClientOption) Svc

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

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 NewSvcServer Uses

func NewSvcServer(svc Svc, hooks *twirp.ServerHooks) TwirpServer

Package google_protobuf_imports imports 17 packages (graph). Updated 2020-01-24. Refresh now. Tools for package owners.