Documentation ¶
Index ¶
- Constants
- Variables
- func NewJsonApiReceiver(name string, options spirit.Map) (receiver spirit.Receiver, err error)
- type APIRenderData
- type APIResponse
- type APIResponseRenderer
- func (p *APIResponseRenderer) AddInternalTemplate(name, tpl string) error
- func (p *APIResponseRenderer) AddTemplate(name, tpl string) (err error)
- func (p *APIResponseRenderer) LoadTemplates(paths ...string) (err error)
- func (p *APIResponseRenderer) LoadVariables(paths ...string) (err error)
- func (p *APIResponseRenderer) Render(isMulti bool, response map[string]APIResponse) (renderedData []byte, err error)
- func (p *APIResponseRenderer) ResetAPITemplate(apiName string)
- func (p *APIResponseRenderer) SetAPITemplate(apiName, tplName string) (err error)
- func (p *APIResponseRenderer) SetDefaultTemplate(name string) (err error)
- type AccessControl
- type HeaderDefines
- type HttpJsonApiDelivery
- func (p *HttpJsonApiDelivery) DeleteMetadata(name string) (err error)
- func (p *HttpJsonApiDelivery) GetMetadata(name string) (v interface{}, exist bool)
- func (p *HttpJsonApiDelivery) Id() string
- func (p *HttpJsonApiDelivery) Labels() spirit.Labels
- func (p *HttpJsonApiDelivery) Metadata() (metadata spirit.Map)
- func (p *HttpJsonApiDelivery) Payload() spirit.Payload
- func (p *HttpJsonApiDelivery) SessionId() string
- func (p *HttpJsonApiDelivery) SetLabel(label string, value string) (err error)
- func (p *HttpJsonApiDelivery) SetLabels(labels spirit.Labels) (err error)
- func (p *HttpJsonApiDelivery) SetMetadata(name string, v interface{}) (err error)
- func (p *HttpJsonApiDelivery) SetURN(urn string) (err error)
- func (p *HttpJsonApiDelivery) Timestamp() time.Time
- func (p *HttpJsonApiDelivery) URN() string
- func (p *HttpJsonApiDelivery) Validate() (err error)
- type HttpJsonApiPayload
- func (p *HttpJsonApiPayload) AppendError(err ...*spirit.Error)
- func (p *HttpJsonApiPayload) ClearErrors()
- func (p *HttpJsonApiPayload) Context() (context spirit.Map)
- func (p *HttpJsonApiPayload) DataToObject(v interface{}) (err error)
- func (p *HttpJsonApiPayload) DeleteContext(name string) (err error)
- func (p *HttpJsonApiPayload) Errors() (err []*spirit.Error)
- func (p *HttpJsonApiPayload) GetContext(name string) (v interface{}, exist bool)
- func (p *HttpJsonApiPayload) GetData() (data interface{}, err error)
- func (p *HttpJsonApiPayload) Id() (id string)
- func (p *HttpJsonApiPayload) LastError() (err *spirit.Error)
- func (p *HttpJsonApiPayload) SetContext(name string, v interface{}) (err error)
- func (p *HttpJsonApiPayload) SetData(data interface{}) (err error)
- type JsonApiReceiver
- type JsonApiReceiverConfig
- type JsonPayload
- type RenderArray
- type RenderData
- type RenderDict
- type RendererConfig
- type ToContext
- type XDomainConfig
Constants ¶
View Source
const ( HeaderForwardedPayload = "X-Forwarded-Payload" CtxHttpCookies = "CTX_HTTP_COOKIES" CtxHttpHeaders = "CTX_HTTP_HEADERS" CtxHttpCustom = "CTX_HTTP_CUSTOM" )
View Source
const (
HttpJsonApiErrNamespace = "JSON_API"
)
Variables ¶
View Source
var ( DefaultTimeout time.Duration = 30 * time.Second DefaultApiHeader = "X-Api" DefaultApiTimeoutHeader = "X-Api-Call-Timeout" DefaultApiMultiCallHeader = "X-Api-Multi-Call" )
View Source
var ( ErrTmplVarAlreadyExist = errors.TN(HttpJsonApiErrNamespace, 400, "template var already exist, key: {{.key}}, value: {{.value}}, original value: {{.originalValue}}") ErrApiAlreadyRelatedTmpl = errors.TN(HttpJsonApiErrNamespace, 401, "api already related template, api: {{.apiName}}, template: {{.tmplName}}") ErrTmplNotExit = errors.TN(HttpJsonApiErrNamespace, 402, "template of {{.tmplName}} not exist") ErrRequestTimeout = errors.TN(HttpJsonApiErrNamespace, 408, "request timeout") ErrApiGenericError = errors.TN(HttpJsonApiErrNamespace, 500, "") ErrNotSupportMultiCallForward = errors.TN(HttpJsonApiErrNamespace, 501, "not support multi call forward") ErrRenderApiDataFailed = errors.TN(HttpJsonApiErrNamespace, 502, "render api data failed") )
View Source
var (
ErrApiNameIsEmpty = errors.New("api name is empty")
)
View Source
var (
ErrHttpResponseGenericError = errors.TN(HttpJsonApiErrNamespace, 100, "")
)
Functions ¶
Types ¶
type APIRenderData ¶
type APIRenderData struct { IsMulti bool Name string Response APIResponse }
type APIResponse ¶
type APIResponseRenderer ¶
type APIResponseRenderer struct { template.Template Variables map[string]interface{} // contains filtered or unexported fields }
func NewAPIResponseRenderer ¶
func NewAPIResponseRenderer() *APIResponseRenderer
func (*APIResponseRenderer) AddInternalTemplate ¶
func (p *APIResponseRenderer) AddInternalTemplate(name, tpl string) error
func (*APIResponseRenderer) AddTemplate ¶
func (p *APIResponseRenderer) AddTemplate(name, tpl string) (err error)
func (*APIResponseRenderer) LoadTemplates ¶
func (p *APIResponseRenderer) LoadTemplates(paths ...string) (err error)
func (*APIResponseRenderer) LoadVariables ¶
func (p *APIResponseRenderer) LoadVariables(paths ...string) (err error)
func (*APIResponseRenderer) Render ¶
func (p *APIResponseRenderer) Render(isMulti bool, response map[string]APIResponse) (renderedData []byte, err error)
func (*APIResponseRenderer) ResetAPITemplate ¶
func (p *APIResponseRenderer) ResetAPITemplate(apiName string)
func (*APIResponseRenderer) SetAPITemplate ¶
func (p *APIResponseRenderer) SetAPITemplate(apiName, tplName string) (err error)
func (*APIResponseRenderer) SetDefaultTemplate ¶
func (p *APIResponseRenderer) SetDefaultTemplate(name string) (err error)
type AccessControl ¶
type AccessControl struct { Credentials bool `json:"credentials"` Methods []string `json:"methods"` Headers []string `json:"headers"` Origins []string `json:"origins"` // contains filtered or unexported fields }
func (*AccessControl) ParseOrigin ¶
func (p *AccessControl) ParseOrigin(refer string) (origin string, isAllow bool)
type HeaderDefines ¶
type HttpJsonApiDelivery ¶
type HttpJsonApiDelivery struct {
// contains filtered or unexported fields
}
func (*HttpJsonApiDelivery) DeleteMetadata ¶
func (p *HttpJsonApiDelivery) DeleteMetadata(name string) (err error)
func (*HttpJsonApiDelivery) GetMetadata ¶
func (p *HttpJsonApiDelivery) GetMetadata(name string) (v interface{}, exist bool)
func (*HttpJsonApiDelivery) Id ¶
func (p *HttpJsonApiDelivery) Id() string
func (*HttpJsonApiDelivery) Labels ¶
func (p *HttpJsonApiDelivery) Labels() spirit.Labels
func (*HttpJsonApiDelivery) Metadata ¶
func (p *HttpJsonApiDelivery) Metadata() (metadata spirit.Map)
func (*HttpJsonApiDelivery) Payload ¶
func (p *HttpJsonApiDelivery) Payload() spirit.Payload
func (*HttpJsonApiDelivery) SessionId ¶
func (p *HttpJsonApiDelivery) SessionId() string
func (*HttpJsonApiDelivery) SetLabel ¶
func (p *HttpJsonApiDelivery) SetLabel(label string, value string) (err error)
func (*HttpJsonApiDelivery) SetLabels ¶
func (p *HttpJsonApiDelivery) SetLabels(labels spirit.Labels) (err error)
func (*HttpJsonApiDelivery) SetMetadata ¶
func (p *HttpJsonApiDelivery) SetMetadata(name string, v interface{}) (err error)
func (*HttpJsonApiDelivery) SetURN ¶
func (p *HttpJsonApiDelivery) SetURN(urn string) (err error)
func (*HttpJsonApiDelivery) Timestamp ¶
func (p *HttpJsonApiDelivery) Timestamp() time.Time
func (*HttpJsonApiDelivery) URN ¶
func (p *HttpJsonApiDelivery) URN() string
func (*HttpJsonApiDelivery) Validate ¶
func (p *HttpJsonApiDelivery) Validate() (err error)
type HttpJsonApiPayload ¶
type HttpJsonApiPayload struct {
// contains filtered or unexported fields
}
func NewHttpJsonApiPayload ¶
func NewHttpJsonApiPayload() (payload *HttpJsonApiPayload)
func (*HttpJsonApiPayload) AppendError ¶
func (p *HttpJsonApiPayload) AppendError(err ...*spirit.Error)
func (*HttpJsonApiPayload) ClearErrors ¶
func (p *HttpJsonApiPayload) ClearErrors()
func (*HttpJsonApiPayload) Context ¶
func (p *HttpJsonApiPayload) Context() (context spirit.Map)
func (*HttpJsonApiPayload) DataToObject ¶
func (p *HttpJsonApiPayload) DataToObject(v interface{}) (err error)
func (*HttpJsonApiPayload) DeleteContext ¶
func (p *HttpJsonApiPayload) DeleteContext(name string) (err error)
func (*HttpJsonApiPayload) Errors ¶
func (p *HttpJsonApiPayload) Errors() (err []*spirit.Error)
func (*HttpJsonApiPayload) GetContext ¶
func (p *HttpJsonApiPayload) GetContext(name string) (v interface{}, exist bool)
func (*HttpJsonApiPayload) GetData ¶
func (p *HttpJsonApiPayload) GetData() (data interface{}, err error)
func (*HttpJsonApiPayload) Id ¶
func (p *HttpJsonApiPayload) Id() (id string)
func (*HttpJsonApiPayload) LastError ¶
func (p *HttpJsonApiPayload) LastError() (err *spirit.Error)
func (*HttpJsonApiPayload) SetContext ¶
func (p *HttpJsonApiPayload) SetContext(name string, v interface{}) (err error)
func (*HttpJsonApiPayload) SetData ¶
func (p *HttpJsonApiPayload) SetData(data interface{}) (err error)
type JsonApiReceiver ¶
type JsonApiReceiver struct { *http.HTTPReceiver // contains filtered or unexported fields }
func (*JsonApiReceiver) Name ¶
func (p *JsonApiReceiver) Name() string
func (*JsonApiReceiver) URN ¶
func (p *JsonApiReceiver) URN() string
type JsonApiReceiverConfig ¶
type JsonApiReceiverConfig struct { Http http.HTTPReceiverConfig `json:"http"` HeaderDefines HeaderDefines `json:"header_defines"` BindURN string `json:"bind_urn"` ApiURN map[string]string `json:"api_urn"` DefaultLabels spirit.Labels `json:"default_labels"` ApiLabels map[string]spirit.Labels `json:"api_labels"` DefaultMetadata map[string]interface{} `json:"default_metadata"` ApiMetadata map[string]map[string]interface{} `json:"api_metadata"` Renderer RendererConfig `json:"renderer"` AccessControl AccessControl `json:"access_control"` ResponseHeaders map[string]string `json:"response_headers"` Path string `json:"path"` Timeout int `json:"timeout"` ToContext ToContext `json:"to_context"` XDomain XDomainConfig `json:"xdomain"` }
type JsonPayload ¶
type RenderArray ¶
type RenderArray struct {
// contains filtered or unexported fields
}
func (*RenderArray) Append ¶
func (p *RenderArray) Append(v interface{}) bool
func (RenderArray) Join ¶
func (p RenderArray) Join(sep string) string
type RenderData ¶
type RenderData struct { API APIRenderData Vars map[string]interface{} }
type RenderDict ¶
type RenderDict map[string]interface{}
func (RenderDict) Del ¶
func (p RenderDict) Del(key string) bool
func (RenderDict) Exist ¶
func (p RenderDict) Exist(key string) (exist bool)
func (RenderDict) Get ¶
func (p RenderDict) Get(key string) (val interface{})
func (RenderDict) Put ¶
func (p RenderDict) Put(key string, val interface{}) bool
type RendererConfig ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.