core

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2021 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DateTimeFormats []DateTimeFormatItem

Functions

func AllPlugins

func AllPlugins() map[string]Plugin

func ConvertStringToTime added in v0.4.0

func ConvertStringToTime(timeString string) (t time.Time, err error)

func FindPluginNameBySubPkgPath

func FindPluginNameBySubPkgPath(subPkgPath string) (string, error)

func RegisterPlugin

func RegisterPlugin(name string, plugin Plugin) error

func UnmarshalResponse

func UnmarshalResponse(res *http.Response, v interface{}) error

Types

type ApiClient

type ApiClient struct {
	// contains filtered or unexported fields
}

func NewApiClient

func NewApiClient(
	endpoint string,
	headers map[string]string,
	timeout time.Duration,
	maxRetry int,
) *ApiClient

func (*ApiClient) Do

func (apiClient *ApiClient) Do(
	method string,
	path string,
	query *url.Values,
	body *map[string]interface{},
	headers *map[string]string,
) (*http.Response, error)

func (*ApiClient) Get

func (apiClient *ApiClient) Get(
	path string,
	query *url.Values,
	headers *map[string]string,
) (*http.Response, error)

func (*ApiClient) SetBeforeFunction added in v0.4.0

func (apiClient *ApiClient) SetBeforeFunction(callback ApiClientBeforeRequest)

func (*ApiClient) SetEndpoint

func (apiClient *ApiClient) SetEndpoint(endpoint string)

func (*ApiClient) SetHeaders

func (apiClient *ApiClient) SetHeaders(headers map[string]string)

func (*ApiClient) SetMaxRetry

func (ApiClient *ApiClient) SetMaxRetry(maxRetry int)

func (*ApiClient) SetProxy

func (apiClient *ApiClient) SetProxy(proxyUrl string) error

func (*ApiClient) SetTimeout

func (ApiClient *ApiClient) SetTimeout(timeout time.Duration)

func (*ApiClient) Setup

func (apiClient *ApiClient) Setup(
	endpoint string,
	headers map[string]string,
	timeout time.Duration,
	maxRetry int,
)

type ApiClientAfterResponse

type ApiClientAfterResponse func(res *http.Response) error

type ApiClientBeforeRequest

type ApiClientBeforeRequest func(req *http.Request) error

type ApiResourceHandler added in v0.3.0

type ApiResourceHandler func(input *ApiResourceInput) (*ApiResourceOutput, error)

type ApiResourceInput added in v0.3.0

type ApiResourceInput struct {
	Params map[string]string      // path variables
	Query  url.Values             // query string
	Body   map[string]interface{} // json body
}

type ApiResourceOutput added in v0.3.0

type ApiResourceOutput struct {
	Body   interface{} // response body
	Status int
}

type DateTimeFormatItem added in v0.4.0

type DateTimeFormatItem struct {
	Matcher *regexp.Regexp
	Format  string
}

type Iso8601Time

type Iso8601Time struct {
	// contains filtered or unexported fields
}

type Iso8601Time time.Time

func (Iso8601Time) MarshalJSON

func (jt Iso8601Time) MarshalJSON() ([]byte, error)

func (*Iso8601Time) String

func (jt *Iso8601Time) String() string

func (*Iso8601Time) ToSqlNullTime added in v0.4.0

func (jt *Iso8601Time) ToSqlNullTime() sql.NullTime

func (*Iso8601Time) ToTime

func (jt *Iso8601Time) ToTime() time.Time

func (*Iso8601Time) UnmarshalJSON

func (jt *Iso8601Time) UnmarshalJSON(b []byte) error

type Plugin

type Plugin interface {
	Description() string
	Init()
	Execute(options map[string]interface{}, progress chan<- float32, ctx context.Context) error
	// PkgPath information lost when compiled as plugin(.so)
	RootPkgPath() string
	ApiResources() map[string]map[string]ApiResourceHandler
}

func GetPlugin

func GetPlugin(name string) (Plugin, error)

Jump to

Keyboard shortcuts

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