Documentation ¶
Overview ¶
Package generic ...
Index ¶
- func GetSeqID(transBuff []byte) (int32, error)
- func ParseContent(path, content string, includes map[string]string, isAbsIncludePath bool) (*parser.Thrift, error)
- func ServiceInfo(pcType serviceinfo.PayloadCodec) *serviceinfo.ServiceInfo
- func SetBinaryWithBase64(g Generic, enable bool) error
- func SetSeqID(seqID int32, transBuff []byte) error
- type Args
- type Closer
- type DescriptorProvider
- type Generic
- type HTTPRequest
- type HTTPResponse
- type JSONRequest
- type Method
- type Result
- func (r *Result) GetSuccess() interface{}
- func (r *Result) IsSetSuccess() bool
- func (r *Result) Read(ctx context.Context, method string, in thrift.TProtocol) error
- func (r *Result) SetCodec(inner interface{})
- func (r *Result) SetSuccess(x interface{})
- func (r *Result) Write(ctx context.Context, out thrift.TProtocol) error
- type Service
- type ThriftContentProvider
- type ThriftContentWithAbsIncludePathProvider
- type WithCodec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseContent ¶ added in v0.3.3
func ParseContent(path, content string, includes map[string]string, isAbsIncludePath bool) (*parser.Thrift, error)
ParseContent parses the IDL from path and content using provided includes
func ServiceInfo ¶
func ServiceInfo(pcType serviceinfo.PayloadCodec) *serviceinfo.ServiceInfo
ServiceInfo create a generic ServiceInfo
func SetBinaryWithBase64 ¶ added in v0.1.3
SetBinaryWithBase64 enable/disable Base64 codec for binary field.
func SetSeqID ¶ added in v0.1.0
SetSeqID is used to reset seqID for thrift payload. For client side, you don't need this function, Kitex will gen seqID and set it into transport protocol to ignore inconsistent seqID between thrift payload and transport protocol, reset the seqID to that generated by kitex for client side by default. But for server side(binary generic server), you need to return the same seqID with upstream, it is suggested to keep the upstream seqID(use GetSeqID) then use SetSeqID to reset the seqID of transBuff.
Types ¶
type Args ¶
type Args struct { Request interface{} Method string // contains filtered or unexported fields }
Args generic request
func (*Args) GetOrSetBase ¶
func (g *Args) GetOrSetBase() interface{}
type Closer ¶ added in v0.1.0
type Closer interface { // Close the unused resource. Close() error }
Closer is usually used to recycle resource.
type DescriptorProvider ¶
type DescriptorProvider interface { Closer // Provide return a channel for provide service descriptors Provide() <-chan *descriptor.ServiceDescriptor }
DescriptorProvider provide service descriptor
func NewThriftFileProvider ¶
func NewThriftFileProvider(path string, includeDirs ...string) (DescriptorProvider, error)
NewThriftFileProvider create a ThriftIDLProvider by given path and include dirs
type Generic ¶
type Generic interface { Closer // PayloadCodec return codec implement PayloadCodec() remote.PayloadCodec // PayloadCodecType return the type of codec PayloadCodecType() serviceinfo.PayloadCodec // RawThriftBinaryGeneric must be framed Framed() bool // GetMethod to get method name if need GetMethod(req interface{}, method string) (*Method, error) }
Generic ...
func BinaryThriftGeneric ¶
func BinaryThriftGeneric() Generic
BinaryThriftGeneric raw thrift binary Generic
func HTTPThriftGeneric ¶
func HTTPThriftGeneric(p DescriptorProvider) (Generic, error)
HTTPThriftGeneric http mapping Generic. Base64 codec for binary field is disabled by default. You can change this option with SetBinaryWithBase64. eg:
g, err := generic.HTTPThriftGeneric(p) SetBinaryWithBase64(g, true)
func JSONThriftGeneric ¶
func JSONThriftGeneric(p DescriptorProvider) (Generic, error)
JSONThriftGeneric json mapping generic. Base64 codec for binary field is enabled by default. You can change this option with SetBinaryWithBase64. eg:
g, err := generic.JSONThriftGeneric(p) SetBinaryWithBase64(g, false)
func MapThriftGeneric ¶
func MapThriftGeneric(p DescriptorProvider) (Generic, error)
MapThriftGeneric map mapping generic
type HTTPRequest ¶
type HTTPRequest = descriptor.HTTPRequest
HTTPRequest alias of descriptor HTTPRequest
func FromHTTPRequest ¶
func FromHTTPRequest(req *http.Request) (*HTTPRequest, error)
FromHTTPRequest parse HTTPRequest from http.Request
type HTTPResponse ¶
type HTTPResponse = descriptor.HTTPResponse
HTTPResponse alias of descriptor HTTPResponse
type Result ¶
type Result struct { Success interface{} // contains filtered or unexported fields }
Result generic response
type Service ¶
type Service interface { // GenericCall handle the generic call GenericCall(ctx context.Context, method string, request interface{}) (response interface{}, err error) }
Service generic service interface
type ThriftContentProvider ¶
type ThriftContentProvider struct {
// contains filtered or unexported fields
}
ThriftContentProvider provide descriptor from contents
func NewThriftContentProvider ¶
func NewThriftContentProvider(main string, includes map[string]string) (*ThriftContentProvider, error)
NewThriftContentProvider builder
func (*ThriftContentProvider) Close ¶ added in v0.1.0
func (p *ThriftContentProvider) Close() error
Close the sending chan.
func (*ThriftContentProvider) Provide ¶
func (p *ThriftContentProvider) Provide() <-chan *descriptor.ServiceDescriptor
Provide ...
type ThriftContentWithAbsIncludePathProvider ¶
type ThriftContentWithAbsIncludePathProvider struct {
// contains filtered or unexported fields
}
ThriftContentWithAbsIncludePathProvider ...
func NewThriftContentWithAbsIncludePathProvider ¶
func NewThriftContentWithAbsIncludePathProvider(mainIDLPath string, includes map[string]string) (*ThriftContentWithAbsIncludePathProvider, error)
NewThriftContentWithAbsIncludePathProvider create abs include path DescriptorProvider
func (*ThriftContentWithAbsIncludePathProvider) Close ¶ added in v0.1.0
func (p *ThriftContentWithAbsIncludePathProvider) Close() error
Close the sending chan.
func (*ThriftContentWithAbsIncludePathProvider) Provide ¶
func (p *ThriftContentWithAbsIncludePathProvider) Provide() <-chan *descriptor.ServiceDescriptor
Provide ...
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package test ...
|
Package test ... |
Package descriptor the idl descriptor for describe the idls with golang
|
Package descriptor the idl descriptor for describe the idls with golang |
Package test ...
|
Package test ... |
Package test ...
|
Package test ... |
Package test ...
|
Package test ... |
Package thrift provides thrift idl parser and codec for generic call
|
Package thrift provides thrift idl parser and codec for generic call |