Versions in this module Expand all Collapse all v1 v1.0.6 Sep 20, 2020 v1.0.5 Aug 25, 2020 Changes in this version + var ErrNotImplementation = errors.New("not implementation") + var ErrProtocolNotRegister = errors.New("protocol not register") + func RegisterMapInterfaceOptFunc(protocol string, withMapInterfaceOpt MapInterfaceOptFunc) + func RegisterProtocol(protocol string, builder ClientBuilder) + type Client interface + GetResource func(url string, md Metadata) Resource + type ClientBuilder interface + NewProtocolClient func(opts ...func(client Client) error) (Client, error) + func GetClientBuilder(protocol string) (ClientBuilder, error) + type ClientRegister interface + GetClientBuilder func(protocol string) (ClientBuilder, error) + RegisterProtocol func(protocol string, builder ClientBuilder) + type DataEncoder interface + Decode func(io.Reader) (io.Reader, error) + Encode func(io.Reader) (io.Reader, error) + type DataType interface + Encoder func() DataEncoder + String func() string + type DistributionData interface + Content func(ctx context.Context) (io.Reader, error) + Metadata func() interface{} + Size func() int64 + Type func() DataType + func NewEoFDistributionData() DistributionData + type MapInterfaceOptFunc func(map[string]interface{}) func(Client) error + func GetRegisteredMapInterfaceOptFunc(protocol string) (MapInterfaceOptFunc, error) + type Metadata interface + All func() interface{} + Del func(key string) + Get func(key string) (interface{}, error) + Set func(key string, value interface{}) + type Resource interface + Call func(ctx context.Context, request interface{}) (response interface{}, err error) + Expire func(ctx context.Context) (bool, interface{}, error) + Length func(ctx context.Context) (int64, error) + Metadata func(ctx context.Context) (Metadata, error) + Read func(ctx context.Context, off int64, size int64) (io.ReadCloser, error)