Documentation ¶
Index ¶
- Constants
- Variables
- func SetErrorResponseHandler(handler InletHTTPErrorResponseHandler) option
- func SetGraphProvider(graphProvider GraphProvider) option
- func SetHTTPConfig(httpConfig Config) option
- func SetLogger(logger *log.Logger) option
- func SetPassThroughHeaders(headers ...string) option
- func SetRangeHeader(header string) option
- func SetRequestDecoder(decoder InletHTTPRequestDecoder) option
- func SetRequestPayloadHook(hook InletHTTPRequestPayloadHook) option
- func SetRequester(requester Requester) option
- func SetResponseHandler(handler InletHTTPResponseHandler) option
- func SetTimeout(millisecond int64) option
- func SetTimeoutHeader(header string) option
- type ClassicRequester
- func (p *ClassicRequester) GetMessageSenderFactory() spirit.MessageSenderFactory
- func (p *ClassicRequester) GetTimeout() time.Duration
- func (p *ClassicRequester) OnMessageError(payload spirit.Payload)
- func (p *ClassicRequester) OnMessageProcessed(messageId string)
- func (p *ClassicRequester) OnMessageReceived(payload spirit.Payload)
- func (p *ClassicRequester) Request(graph spirit.MessageGraph, payload spirit.Payload, ...) (msgId string, err error)
- func (p *ClassicRequester) SetMessageSenderFactory(factory spirit.MessageSenderFactory)
- func (p *ClassicRequester) SetTimeout(timeout time.Duration)
- type Config
- type GraphProvider
- type GraphResponse
- type GraphStat
- type InletHTTP
- func (p *InletHTTP) CallBack(payload *spirit.Payload) (result interface{}, err error)
- func (p *InletHTTP) Error(payload *spirit.Payload) (result interface{}, err error)
- func (p *InletHTTP) Group(path string, router func(martini.Router), middlerWares ...martini.Handler)
- func (p *InletHTTP) Handler(w http.ResponseWriter, r *http.Request)
- func (p *InletHTTP) OnMessageResponse(payload *spirit.Payload)
- func (p *InletHTTP) Option(opts ...option)
- func (p *InletHTTP) Requester() Requester
- func (p *InletHTTP) Run()
- type InletHTTPErrorResponseHandler
- type InletHTTPRequestDecoder
- type InletHTTPRequestPayloadHook
- type InletHTTPResponseHandler
- type NameValue
- type Requester
Constants ¶
View Source
const ( CTX_HTTP_COOKIES = "CTX_HTTP_COOKIES" CTX_HTTP_HEADERS = "CTX_HTTP_HEADERS" CTX_HTTP_RANGE = "CTX_HTTP_RANGE" CMD_HTTP_HEADERS_SET = "CMD_HTTP_HEADERS_SET" CMD_HTTP_COOKIES_SET = "CMD_HTTP_COOKIES_SET" )
View Source
const (
REQUEST_TIMEOUT = 30 * time.Second
)
Variables ¶
View Source
var ( ERR_MESSAGE_ID_IS_EMPTY = errors.TN(INLET_HTTP_ERR_NS, 1, "message id is empty") ERR_PAYLOAD_CHAN_NOT_EXIST = errors.TN(INLET_HTTP_ERR_NS, 2, "payload chan not exist, message id: {{.id}}") ERR_ERROR_CHAN_NOT_EXIST = errors.TN(INLET_HTTP_ERR_NS, 3, "error chan not exist, message id: {{.id}}") ERR_READ_HTTP_BODY_FAILED = errors.TN(INLET_HTTP_ERR_NS, 4, "read http body failed,error: {{.err}}") ERR_UNMARSHAL_HTTP_BODY_FAILED = errors.TN(INLET_HTTP_ERR_NS, 5, "unmarshal http body failed, error: {{.err}}") ERR_PARSE_COMMAND_TO_OBJECT_FAILED = errors.TN(INLET_HTTP_ERR_NS, 6, "parse command {{.cmd}} error, error: {{.err}}") ERR_REQUEST_TIMEOUT = errors.TN(INLET_HTTP_ERR_NS, 7, "request timeout, graph: {{.graphName}}, message id: {{.msgId}}") ERR_GATHER_RESPONSE_TIMEOUT = errors.TN(INLET_HTTP_ERR_NS, 8, "gather response timeout, graph: {{.graphName}}") ERR_REQUEST_TIMEOUT_VALUE_FORMAT_WRONG = errors.TN(INLET_HTTP_ERR_NS, 9, "request timeout value format wrong, value: {{.value}}") ERR_MARSHAL_STAT_DATA_FAILED = errors.TN(INLET_HTTP_ERR_NS, 10, "marshal stat data failed, err: {{.err}}") )
View Source
var INLET_HTTP_ERR_NS = "INLET_HTTP"
Functions ¶
func SetErrorResponseHandler ¶
func SetErrorResponseHandler(handler InletHTTPErrorResponseHandler) option
func SetGraphProvider ¶
func SetGraphProvider(graphProvider GraphProvider) option
func SetHTTPConfig ¶
func SetHTTPConfig(httpConfig Config) option
func SetPassThroughHeaders ¶ added in v0.2.0
func SetPassThroughHeaders(headers ...string) option
func SetRangeHeader ¶ added in v0.2.0
func SetRangeHeader(header string) option
func SetRequestDecoder ¶
func SetRequestDecoder(decoder InletHTTPRequestDecoder) option
func SetRequestPayloadHook ¶
func SetRequestPayloadHook(hook InletHTTPRequestPayloadHook) option
func SetRequester ¶
func SetRequester(requester Requester) option
func SetResponseHandler ¶
func SetResponseHandler(handler InletHTTPResponseHandler) option
func SetTimeout ¶
func SetTimeout(millisecond int64) option
func SetTimeoutHeader ¶
func SetTimeoutHeader(header string) option
Types ¶
type ClassicRequester ¶
type ClassicRequester struct {
// contains filtered or unexported fields
}
func (*ClassicRequester) GetMessageSenderFactory ¶
func (p *ClassicRequester) GetMessageSenderFactory() spirit.MessageSenderFactory
func (*ClassicRequester) GetTimeout ¶
func (p *ClassicRequester) GetTimeout() time.Duration
func (*ClassicRequester) OnMessageError ¶
func (p *ClassicRequester) OnMessageError(payload spirit.Payload)
func (*ClassicRequester) OnMessageProcessed ¶
func (p *ClassicRequester) OnMessageProcessed(messageId string)
func (*ClassicRequester) OnMessageReceived ¶
func (p *ClassicRequester) OnMessageReceived(payload spirit.Payload)
func (*ClassicRequester) Request ¶
func (p *ClassicRequester) Request(graph spirit.MessageGraph, payload spirit.Payload, payloadRespChan chan spirit.Payload, errResp chan error) (msgId string, err error)
func (*ClassicRequester) SetMessageSenderFactory ¶
func (p *ClassicRequester) SetMessageSenderFactory(factory spirit.MessageSenderFactory)
func (*ClassicRequester) SetTimeout ¶
func (p *ClassicRequester) SetTimeout(timeout time.Duration)
type GraphProvider ¶
type GraphProvider interface { SetGraph(name string, graph spirit.MessageGraph) GraphProvider GetGraph(r *http.Request, body []byte) (graphs map[string]spirit.MessageGraph, err error) }
type GraphResponse ¶
type GraphStat ¶
type GraphStat struct { GraphName string `json:"-"` RequestCount int64 `json:"request_count"` TimeoutCount int64 `json:"timeout_count"` ErrorCount int64 `json:"error_count"` TotalTimeCost time.Duration `json:"-"` MinTimeCost time.Duration `json:"-"` MaxTimeCost time.Duration `json:"-"` LastRequestTime string `json:"last_request_time"` StrTotalTimeCost string `json:"total_time_cost"` StrMinTimeCost string `json:"min_time_cost"` StrMaxTimeCost string `json:"max_time_cost"` AvgTimeCost string `json:"avg_time_cost"` ErrorRate string `json:"error_rate"` TimeoutRate string `json:"timeout_rate"` }
type InletHTTP ¶
type InletHTTP struct {
// contains filtered or unexported fields
}
func NewInletHTTP ¶
func NewInletHTTP(opts ...option) *InletHTTP
func (*InletHTTP) OnMessageResponse ¶
type InletHTTPErrorResponseHandler ¶
type InletHTTPErrorResponseHandler func(err error, w http.ResponseWriter, r *http.Request)
type InletHTTPRequestDecoder ¶
type InletHTTPResponseHandler ¶
type InletHTTPResponseHandler func(graphsResponse map[string]GraphResponse, w http.ResponseWriter, r *http.Request)
type Requester ¶
type Requester interface { Request(graph spirit.MessageGraph, payload spirit.Payload, payloadRespChan chan spirit.Payload, errResp chan error) (msgId string, err error) OnMessageReceived(payload spirit.Payload) OnMessageError(payload spirit.Payload) OnMessageProcessed(messageId string) SetMessageSenderFactory(factory spirit.MessageSenderFactory) GetMessageSenderFactory() spirit.MessageSenderFactory SetTimeout(timeout time.Duration) GetTimeout() time.Duration }
func NewClassicRequester ¶
func NewClassicRequester() Requester
Click to show internal directories.
Click to hide internal directories.