Documentation ¶
Index ¶
- func CopyBody(body io.ReadCloser) (resp1, resp2 io.ReadCloser, err error)
- func ValidateResponseDelayPayload(j v1.ResponseDelayPayloadView) (err error)
- type RequestDetails
- type RequestResponsePair
- func (this *RequestResponsePair) ConvertToRequestResponsePairView() v2.RequestResponsePairView
- func (this *RequestResponsePair) ConvertToV1RequestResponsePairView() *v1.RequestResponsePairView
- func (this *RequestResponsePair) Encode() ([]byte, error)
- func (this RequestResponsePair) Id() string
- func (this RequestResponsePair) IdWithoutHost() string
- type ResponseDelay
- type ResponseDelayList
- type ResponseDelays
- type ResponseDetails
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CopyBody ¶ added in v0.8.2
func CopyBody(body io.ReadCloser) (resp1, resp2 io.ReadCloser, err error)
func ValidateResponseDelayPayload ¶ added in v0.9.0
func ValidateResponseDelayPayload(j v1.ResponseDelayPayloadView) (err error)
Types ¶
type RequestDetails ¶
type RequestDetails struct { Path string `json:"path"` Method string `json:"method"` Destination string `json:"destination"` Scheme string `json:"scheme"` Query string `json:"query"` Body string `json:"body"` Headers map[string][]string `json:"headers"` }
RequestDetails stores information about request, it's used for creating unique hash and also as a payload structure
func NewRequestDetailsFromHttpRequest ¶ added in v0.8.2
func NewRequestDetailsFromHttpRequest(req *http.Request) (RequestDetails, error)
func NewRequestDetailsFromRequest ¶ added in v0.9.0
func NewRequestDetailsFromRequest(data interfaces.Request) RequestDetails
func (*RequestDetails) ConvertToRequestDetailsView ¶
func (this *RequestDetails) ConvertToRequestDetailsView() v2.RequestDetailsView
func (*RequestDetails) ConvertToV1RequestDetailsView ¶ added in v0.9.0
func (this *RequestDetails) ConvertToV1RequestDetailsView() v1.RequestDetailsView
func (*RequestDetails) Hash ¶
func (r *RequestDetails) Hash() string
func (*RequestDetails) HashWithoutHost ¶
func (r *RequestDetails) HashWithoutHost() string
type RequestResponsePair ¶ added in v0.8.1
type RequestResponsePair struct { Response ResponseDetails `json:"response"` Request RequestDetails `json:"request"` }
Payload structure holds request and response structure
func NewRequestResponsePairFromBytes ¶ added in v0.8.1
func NewRequestResponsePairFromBytes(data []byte) (*RequestResponsePair, error)
NewPayloadFromBytes decodes supplied bytes into Payload structure
func NewRequestResponsePairFromRequestResponsePairView ¶ added in v0.8.1
func NewRequestResponsePairFromRequestResponsePairView(pairView interfaces.RequestResponsePair) RequestResponsePair
func (*RequestResponsePair) ConvertToRequestResponsePairView ¶ added in v0.8.1
func (this *RequestResponsePair) ConvertToRequestResponsePairView() v2.RequestResponsePairView
func (*RequestResponsePair) ConvertToV1RequestResponsePairView ¶ added in v0.9.0
func (this *RequestResponsePair) ConvertToV1RequestResponsePairView() *v1.RequestResponsePairView
func (*RequestResponsePair) Encode ¶ added in v0.8.1
func (this *RequestResponsePair) Encode() ([]byte, error)
Encode method encodes all exported Payload fields to bytes
func (RequestResponsePair) Id ¶ added in v0.8.1
func (this RequestResponsePair) Id() string
func (RequestResponsePair) IdWithoutHost ¶ added in v0.8.1
func (this RequestResponsePair) IdWithoutHost() string
type ResponseDelay ¶
type ResponseDelay struct { UrlPattern string `json:"urlPattern"` HttpMethod string `json:"httpMethod"` Delay int `json:"delay"` }
func (*ResponseDelay) Execute ¶
func (this *ResponseDelay) Execute()
type ResponseDelayList ¶ added in v0.7.1
type ResponseDelayList []ResponseDelay
func (ResponseDelayList) ConvertToResponseDelayPayloadView ¶ added in v0.9.0
func (this ResponseDelayList) ConvertToResponseDelayPayloadView() v1.ResponseDelayPayloadView
func (*ResponseDelayList) GetDelay ¶ added in v0.7.1
func (this *ResponseDelayList) GetDelay(request RequestDetails) *ResponseDelay
func (*ResponseDelayList) Len ¶ added in v0.7.1
func (this *ResponseDelayList) Len() int
type ResponseDelays ¶ added in v0.7.1
type ResponseDelays interface { GetDelay(request RequestDetails) *ResponseDelay Len() int ConvertToResponseDelayPayloadView() v1.ResponseDelayPayloadView }
type ResponseDetails ¶
type ResponseDetails struct { Status int `json:"status"` Body string `json:"body"` Headers map[string][]string `json:"headers"` }
ResponseDetails structure hold response body from external service, body is not decoded and is supposed to be bytes, however headers should provide all required information for later decoding by the client.
func NewResponseDetailsFromResponse ¶ added in v0.9.0
func NewResponseDetailsFromResponse(data interfaces.Response) ResponseDetails
func (*ResponseDetails) ConvertToResponseDetailsView ¶
func (r *ResponseDetails) ConvertToResponseDetailsView() v2.ResponseDetailsView
This function will create a JSON appriopriate version of ResponseDetails for the v2 API If the response headers indicate that the content is encoded, or it has a non-matching supported mimetype, we base64 encode it.
func (*ResponseDetails) ConvertToV1ResponseDetailsView ¶ added in v0.9.0
func (r *ResponseDetails) ConvertToV1ResponseDetailsView() v1.ResponseDetailsView
This function will create a JSON appriopriate version of ResponseDetails for the v1 API If the response headers indicate that the content is encoded, or it has a non-matching supported mimetype, we base64 encode it.