gogo_compat

package
v5.9.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2019 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package gogo_compat is a generated protocol buffer package.

Test to make sure that twirk plays well with code generated with github.com/gogo/protobuf/protoc-gen-gofast.

It is generated from these files:

service.proto

It has these top-level messages:

Msg

Package gogo_compat is a generated twirk stub package. This code was generated with github.com/darioielardi/twirk/protoc-gen-twirk v5.8.0.

Test to make sure that twirk plays well with code generated with github.com/gogo/protobuf/protoc-gen-gofast.

It is generated from these files:

service.proto

Index

Constants

View Source
const SvcPathPrefix = "/twirk/twirk.internal.twirktest.gogo_compat.Svc/"

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

Variables

View Source
var (
	ErrInvalidLengthService = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowService   = fmt.Errorf("proto: integer overflow")
)

Functions

func NewSvcServer

func NewSvcServer(svc Svc, hooks *twirk.ServerHooks) twirkServer

func WriteError

func WriteError(resp http.ResponseWriter, err error)

WriteError writes an HTTP response with a valid twirk error format (code, msg, meta). Useful outside of the twirk server (e.g. http middleware), but does not trigger hooks. If err is not a twirk.Error, it will get wrapped with twirk.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 Msg

type Msg struct {
}

func (*Msg) Descriptor

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

func (*Msg) Marshal

func (m *Msg) Marshal() (dAtA []byte, err error)

func (*Msg) MarshalTo

func (m *Msg) MarshalTo(dAtA []byte) (int, error)

func (*Msg) ProtoMessage

func (*Msg) ProtoMessage()

func (*Msg) Reset

func (m *Msg) Reset()

func (*Msg) Size

func (m *Msg) Size() (n int)

func (*Msg) String

func (m *Msg) String() string

func (*Msg) Unmarshal

func (m *Msg) Unmarshal(dAtA []byte) error

type Svc

type Svc interface {
	Send(context.Context, *Msg) (*Msg, error)
}

func NewSvcJSONClient

func NewSvcJSONClient(addr string, client HTTPClient) 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

func NewSvcProtobufClient(addr string, client HTTPClient) Svc

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

Jump to

Keyboard shortcuts

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