Documentation ¶
Index ¶
- Constants
- func CodecForRequest(r *http.Request, name string) (encoding.Codec, bool)
- func CodecForResponse(r *http.Response) encoding.Codec
- func DefaultErrorDecoder(ctx context.Context, res *http.Response) error
- func DefaultErrorEncoder(w http.ResponseWriter, r *http.Request, se error)
- func DefaultRequestDecoder(r *http.Request, v interface{}) error
- func DefaultRequestEncoder(ctx context.Context, contentType string, in interface{}) ([]byte, error)
- func DefaultResponseDecoder(ctx context.Context, res *http.Response, v interface{}) error
- func DefaultResponseEncoder(w http.ResponseWriter, r *http.Request, v interface{}) error
- func NewHandler(handler interface{}, opts ...HandleOption) http.Handler
- type CallOption
- type Client
- type ClientOption
- func WithBalancer(b balancer.Balancer) ClientOption
- func WithDiscovery(d registry.Discovery) ClientOption
- func WithEndpoint(endpoint string) ClientOption
- func WithErrorDecoder(errorDecoder DecodeErrorFunc) ClientOption
- func WithMiddleware(m ...middleware.Middleware) ClientOption
- func WithRequestEncoder(encoder EncodeRequestFunc) ClientOption
- func WithResponseDecoder(decoder DecodeResponseFunc) ClientOption
- func WithTimeout(d time.Duration) ClientOption
- func WithTransport(trans http.RoundTripper) ClientOption
- func WithUserAgent(ua string) ClientOption
- type ContentTypeCallOption
- type DecodeErrorFunc
- type DecodeRequestFunc
- type DecodeResponseFunc
- type EmptyCallOption
- type EncodeErrorFunc
- type EncodeRequestFunc
- type EncodeResponseFunc
- type HandleOption
- type HandleOptions
- type Handler
- type MetadataCallOption
- type MethodCallOption
- type Server
- func (s *Server) Endpoint() (*url.URL, error)
- func (s *Server) Handle(path string, h http.Handler)
- func (s *Server) HandleFunc(path string, h http.HandlerFunc)
- func (s *Server) HandlePrefix(prefix string, h http.Handler)
- func (s *Server) ServeHTTP(res http.ResponseWriter, req *http.Request)
- func (s *Server) Start(ctx context.Context) error
- func (s *Server) Stop(ctx context.Context) error
- type ServerOption
- type Target
- type Transport
Constants ¶
const SupportPackageIsVersion1 = true
SupportPackageIsVersion1 These constants should not be referenced from any other code.
Variables ¶
This section is empty.
Functions ¶
func CodecForRequest ¶
CodecForRequest get encoding.Codec via http.Request
func CodecForResponse ¶
CodecForResponse get encoding.Codec via http.Response
func DefaultErrorDecoder ¶
DefaultErrorDecoder is an HTTP error decoder.
func DefaultErrorEncoder ¶
func DefaultErrorEncoder(w http.ResponseWriter, r *http.Request, se error)
DefaultErrorEncoder encodes the error to the HTTP response.
func DefaultRequestDecoder ¶
DefaultRequestDecoder decodes the request body to object.
func DefaultRequestEncoder ¶
DefaultRequestEncoder is an HTTP request encoder.
func DefaultResponseDecoder ¶
DefaultResponseDecoder is an HTTP response decoder.
func DefaultResponseEncoder ¶
func DefaultResponseEncoder(w http.ResponseWriter, r *http.Request, v interface{}) error
DefaultResponseEncoder encodes the object to the HTTP response.
func NewHandler ¶
func NewHandler(handler interface{}, opts ...HandleOption) http.Handler
NewHandler new an HTTP handler.
Types ¶
type CallOption ¶
type CallOption interface {
// contains filtered or unexported methods
}
CallOption configures a Call before it starts or extracts information from a Call after it completes.
func ContentType ¶
func ContentType(contentType string) CallOption
ContentType with request content type.
func Metadata ¶
func Metadata(metatada metadata.Metadata) CallOption
Metadata is Metadata call option
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is an HTTP client.
func NewClient ¶
func NewClient(ctx context.Context, opts ...ClientOption) (*Client, error)
NewClient returns an HTTP client.
type ClientOption ¶
type ClientOption func(*clientOptions)
ClientOption is HTTP client option.
func WithBalancer ¶
func WithBalancer(b balancer.Balancer) ClientOption
WithBalancer with client balancer. Experimental Notice: This type is EXPERIMENTAL and may be changed or removed in a later release.
func WithDiscovery ¶
func WithDiscovery(d registry.Discovery) ClientOption
WithDiscovery with client discovery.
func WithErrorDecoder ¶
func WithErrorDecoder(errorDecoder DecodeErrorFunc) ClientOption
WithErrorDecoder with client error decoder.
func WithMiddleware ¶
func WithMiddleware(m ...middleware.Middleware) ClientOption
WithMiddleware with client middleware.
func WithRequestEncoder ¶
func WithRequestEncoder(encoder EncodeRequestFunc) ClientOption
WithRequestEncoder with client request encoder.
func WithResponseDecoder ¶
func WithResponseDecoder(decoder DecodeResponseFunc) ClientOption
WithResponseDecoder with client response decoder.
func WithTimeout ¶
func WithTimeout(d time.Duration) ClientOption
WithTimeout with client request timeout.
func WithTransport ¶
func WithTransport(trans http.RoundTripper) ClientOption
WithTransport with client transport.
func WithUserAgent ¶
func WithUserAgent(ua string) ClientOption
WithUserAgent with client user agent.
type ContentTypeCallOption ¶
type ContentTypeCallOption struct { EmptyCallOption ContentType string }
ContentTypeCallOption is BodyCallOption
type DecodeErrorFunc ¶
DecodeErrorFunc is decode error func.
type DecodeRequestFunc ¶
DecodeRequestFunc is decode request func.
type DecodeResponseFunc ¶
DecodeResponseFunc is response decode func.
type EmptyCallOption ¶
type EmptyCallOption struct{}
EmptyCallOption does not alter the Call configuration. It can be embedded in another structure to carry satellite data for use by interceptors.
type EncodeErrorFunc ¶
type EncodeErrorFunc func(http.ResponseWriter, *http.Request, error)
EncodeErrorFunc is encode error func.
type EncodeRequestFunc ¶
type EncodeRequestFunc func(ctx context.Context, contentType string, in interface{}) (body []byte, err error)
EncodeRequestFunc is request encode func.
type EncodeResponseFunc ¶
type EncodeResponseFunc func(http.ResponseWriter, *http.Request, interface{}) error
EncodeResponseFunc is encode response func.
type HandleOption ¶
type HandleOption func(*HandleOptions)
HandleOption is handle option.
func ErrorEncoder ¶
func ErrorEncoder(en EncodeErrorFunc) HandleOption
ErrorEncoder with error encoder.
func Middleware ¶
func Middleware(m ...middleware.Middleware) HandleOption
Middleware with middleware option.
func RequestDecoder ¶
func RequestDecoder(dec DecodeRequestFunc) HandleOption
RequestDecoder with request decoder.
func ResponseEncoder ¶
func ResponseEncoder(en EncodeResponseFunc) HandleOption
ResponseEncoder with response encoder.
type HandleOptions ¶
type HandleOptions struct { Decode DecodeRequestFunc Encode EncodeResponseFunc Error EncodeErrorFunc Middleware middleware.Middleware }
HandleOptions is handle options. Deprecated: use Handler instead.
func DefaultHandleOptions ¶
func DefaultHandleOptions() HandleOptions
DefaultHandleOptions returns a default handle options. Deprecated: use NewHandler instead.
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler is handle options.
type MetadataCallOption ¶
type MetadataCallOption struct { EmptyCallOption Metatada metadata.Metadata }
MetadataCallOption is set Metadata for client call
type MethodCallOption ¶
type MethodCallOption struct { EmptyCallOption Method string }
MethodCallOption is set ServiceMethod for client call
type Server ¶
Server is an HTTP server wrapper.
func NewServer ¶
func NewServer(opts ...ServerOption) *Server
NewServer creates an HTTP server by options.
func (*Server) Endpoint ¶
Endpoint return a real address to registry endpoint. examples:
http://127.0.0.1:8000?isSecure=false
func (*Server) HandleFunc ¶
func (s *Server) HandleFunc(path string, h http.HandlerFunc)
HandleFunc registers a new route with a matcher for the URL path.
func (*Server) HandlePrefix ¶
HandlePrefix registers a new route with a matcher for the URL path prefix.
func (*Server) ServeHTTP ¶
func (s *Server) ServeHTTP(res http.ResponseWriter, req *http.Request)
ServeHTTP should write reply headers and data to the ResponseWriter and then return.
type Transport ¶
type Transport struct {
// contains filtered or unexported fields
}
Transport is an HTTP transport.
func (*Transport) WithMetadata ¶
WithMetadata with a metadata into transport md.