generic

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2021 License: Apache-2.0 Imports: 20 Imported by: 56

Documentation

Overview

Package generic ...

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ServiceInfo

func ServiceInfo(pcType serviceinfo.PayloadCodec) *serviceinfo.ServiceInfo

ServiceInfo create a generic ServiceInfo

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{}

func (*Args) Read

func (g *Args) Read(ctx context.Context, method string, in thrift.TProtocol) error

Read ...

func (*Args) SetCodec

func (g *Args) SetCodec(inner interface{})

SetCodec ...

func (*Args) Write

func (g *Args) Write(ctx context.Context, out thrift.TProtocol) error

Write ...

type DescriptorProvider

type DescriptorProvider interface {
	// 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 {
	// 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

func JSONThriftGeneric

func JSONThriftGeneric() Generic

JSONThriftGeneric json mapping generic

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 JSONRequest

type JSONRequest = string

JSONRequest alias of string

type Method

type Method struct {
	Name   string
	Oneway bool
}

Method information

type Result

type Result struct {
	Success interface{}
	// contains filtered or unexported fields
}

Result generic response

func (*Result) GetSuccess

func (r *Result) GetSuccess() interface{}

GetSuccess ...

func (*Result) IsSetSuccess

func (r *Result) IsSetSuccess() bool

IsSetSuccess ...

func (*Result) Read

func (r *Result) Read(ctx context.Context, method string, in thrift.TProtocol) error

Read ...

func (*Result) SetCodec

func (r *Result) SetCodec(inner interface{})

SetCodec ...

func (*Result) SetSuccess

func (r *Result) SetSuccess(x interface{})

SetSuccess ...

func (*Result) Write

func (r *Result) Write(ctx context.Context, out thrift.TProtocol) error

Write ...

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) Provide

func (p *ThriftContentProvider) Provide() <-chan *descriptor.ServiceDescriptor

Provide ...

func (*ThriftContentProvider) UpdateIDL

func (p *ThriftContentProvider) UpdateIDL(main string, includes map[string]string) error

UpdateIDL ...

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) Provide

Provide ...

func (*ThriftContentWithAbsIncludePathProvider) UpdateIDL

func (p *ThriftContentWithAbsIncludePathProvider) UpdateIDL(mainIDLPath string, includes map[string]string) error

UpdateIDL update idl by given args

type WithCodec

type WithCodec interface {
	SetCodec(codec interface{})
}

WithCodec set codec instance for Args or Result

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 thrift thrift parser and codec
Package thrift thrift parser and codec

Jump to

Keyboard shortcuts

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