Documentation ¶
Index ¶
- func ValidateResponseDelayPayload(j v1.ResponseDelayPayloadView) (err error)
- type CachedResponse
- type ClosestMiss
- type MatchError
- type RequestDetails
- type RequestFieldMatchers
- type RequestMatcher
- type RequestMatcherResponsePair
- type RequestResponsePair
- type ResponseDelay
- type ResponseDelayList
- type ResponseDelays
- type ResponseDetails
- type Simulation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidateResponseDelayPayload ¶ added in v0.9.0
func ValidateResponseDelayPayload(j v1.ResponseDelayPayloadView) (err error)
Types ¶
type CachedResponse ¶ added in v0.11.0
type CachedResponse struct { Request RequestDetails MatchingPair *RequestMatcherResponsePair ClosestMiss *ClosestMiss }
func NewCachedResponseFromBytes ¶ added in v0.11.0
func NewCachedResponseFromBytes(data []byte) (*CachedResponse, error)
func (CachedResponse) Encode ¶ added in v0.11.0
func (this CachedResponse) Encode() ([]byte, error)
type ClosestMiss ¶ added in v0.12.0
type ClosestMiss struct { RequestDetails RequestDetails Response v2.ResponseDetailsViewV4 RequestMatcher v2.RequestMatcherViewV4 MissedFields []string State map[string]string }
func (*ClosestMiss) BuildView ¶ added in v0.12.0
func (this *ClosestMiss) BuildView() *v2.ClosestMissView
func (*ClosestMiss) GetMessage ¶ added in v0.12.0
func (this *ClosestMiss) GetMessage() string
type MatchError ¶ added in v0.12.2
type MatchError struct { ClosestMiss *ClosestMiss // contains filtered or unexported fields }
func NewMatchError ¶ added in v0.12.2
func NewMatchError(error string, matchedOnAllButHeadersAtLeastOnce bool) *MatchError
func NewMatchErrorWithClosestMiss ¶ added in v0.12.2
func NewMatchErrorWithClosestMiss(closestMiss *ClosestMiss, error string, isCachable bool) *MatchError
func (MatchError) Error ¶ added in v0.12.2
func (this MatchError) Error() string
type RequestDetails ¶
type RequestDetails struct { Path string Method string Destination string Scheme string Query map[string][]string Body string Headers map[string][]string }
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) Hash ¶
func (r *RequestDetails) Hash() string
func (*RequestDetails) HashWithoutHost ¶
func (r *RequestDetails) HashWithoutHost() string
func (*RequestDetails) QueryString ¶ added in v0.13.0
func (this *RequestDetails) QueryString() string
TODO: Remove this This only exists as there are parts of Hoverfly that still require the request query parameters to be a string and not a map
type RequestFieldMatchers ¶ added in v0.11.0
type RequestFieldMatchers struct { ExactMatch *string XmlMatch *string XpathMatch *string JsonMatch *string JsonPathMatch *string RegexMatch *string GlobMatch *string }
func NewRequestFieldMatchersFromView ¶ added in v0.11.0
func NewRequestFieldMatchersFromView(matchers *v2.RequestFieldMatchersView) *RequestFieldMatchers
func (RequestFieldMatchers) BuildView ¶ added in v0.11.0
func (this RequestFieldMatchers) BuildView() *v2.RequestFieldMatchersView
type RequestMatcher ¶ added in v0.11.0
type RequestMatcher struct { Path *RequestFieldMatchers Method *RequestFieldMatchers Destination *RequestFieldMatchers Scheme *RequestFieldMatchers Query *RequestFieldMatchers Body *RequestFieldMatchers Headers map[string][]string RequiresState map[string]string }
func (RequestMatcher) IncludesHeaderMatching ¶ added in v0.12.2
func (this RequestMatcher) IncludesHeaderMatching() bool
func (RequestMatcher) IncludesStateMatching ¶ added in v0.14.0
func (this RequestMatcher) IncludesStateMatching() bool
func (RequestMatcher) ToEagerlyCachable ¶ added in v0.14.0
func (this RequestMatcher) ToEagerlyCachable() *RequestDetails
type RequestMatcherResponsePair ¶ added in v0.11.0
type RequestMatcherResponsePair struct { RequestMatcher RequestMatcher Response ResponseDetails }
func NewRequestMatcherResponsePairFromView ¶ added in v0.11.0
func NewRequestMatcherResponsePairFromView(view *v2.RequestMatcherResponsePairViewV4) *RequestMatcherResponsePair
func (*RequestMatcherResponsePair) BuildView ¶ added in v0.11.0
func (this *RequestMatcherResponsePair) BuildView() v2.RequestMatcherResponsePairViewV4
type RequestResponsePair ¶ added in v0.8.1
type RequestResponsePair struct { Response ResponseDetails Request RequestDetails }
Payload structure holds request and response 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.RequestResponsePairViewV1
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
type ResponseDelays ¶ added in v0.7.1
type ResponseDelays interface { GetDelay(request RequestDetails) *ResponseDelay ConvertToResponseDelayPayloadView() v1.ResponseDelayPayloadView }
type ResponseDetails ¶
type ResponseDetails struct { Status int Body string Headers map[string][]string Templated bool TransitionsState map[string]string RemovesState []string }
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) ConvertToResponseDetailsViewV4 ¶ added in v0.14.0
func (r *ResponseDetails) ConvertToResponseDetailsViewV4() v2.ResponseDetailsViewV4
type Simulation ¶ added in v0.10.2
type Simulation struct { MatchingPairs []RequestMatcherResponsePair ResponseDelays ResponseDelays }
func NewSimulation ¶ added in v0.10.2
func NewSimulation() *Simulation
func (*Simulation) AddRequestMatcherResponsePair ¶ added in v0.11.0
func (this *Simulation) AddRequestMatcherResponsePair(pair *RequestMatcherResponsePair)