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 ¶
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 ¶
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 ¶
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) ProtoMessage ¶
func (*Msg) ProtoMessage()
type Svc ¶
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.