models

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2017 License: Apache-2.0 Imports: 21 Imported by: 7

Documentation

Index

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

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

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)

Jump to

Keyboard shortcuts

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