package fifo

import "github.com/google/martian/v3/fifo"

Package fifo provides Group, which is a list of modifiers that are executed consecutively. By default, when an error is returned by a modifier, the execution of the modifiers is halted, and the error is returned. Optionally, when errror aggregation is enabled (by calling SetAggretateErrors(true)), modifier execution is not halted, and errors are aggretated and returned after all modifiers have been executed.

Index

Types

type Group

type Group struct {
	// contains filtered or unexported fields
}

Group is a martian.RequestResponseModifier that maintains lists of request and response modifiers executed on a first-in, first-out basis.

func NewGroup

func NewGroup() *Group

NewGroup returns a modifier group.

func (*Group) AddRequestModifier

func (g *Group) AddRequestModifier(reqmod martian.RequestModifier)

AddRequestModifier adds a RequestModifier to the group's list of request modifiers.

func (*Group) AddResponseModifier

func (g *Group) AddResponseModifier(resmod martian.ResponseModifier)

AddResponseModifier adds a ResponseModifier to the group's list of response modifiers.

func (*Group) ModifyRequest

func (g *Group) ModifyRequest(req *http.Request) error

ModifyRequest modifies the request. By default, aggregateErrors is false; if an error is returned by a RequestModifier the error is returned and no further modifiers are run. When aggregateErrors is set to true, the errors returned by each modifier in the group are aggregated.

func (*Group) ModifyResponse

func (g *Group) ModifyResponse(res *http.Response) error

ModifyResponse modifies the request. By default, aggregateErrors is false; if an error is returned by a RequestModifier the error is returned and no further modifiers are run. When aggregateErrors is set to true, the errors returned by each modifier in the group are aggregated.

func (*Group) ResetRequestVerifications

func (g *Group) ResetRequestVerifications()

ResetRequestVerifications resets the state of the contained request verifiers.

func (*Group) ResetResponseVerifications

func (g *Group) ResetResponseVerifications()

ResetResponseVerifications resets the state of the contained request verifiers.

func (*Group) SetAggregateErrors

func (g *Group) SetAggregateErrors(aggerr bool)

SetAggregateErrors sets the error behavior for the Group. When true, the Group will continue to execute consecutive modifiers when a modifier in the group encounters an error. The Group will then return all errors returned by each modifier after all modifiers have been executed. When false, if an error is returned by a modifier, the error is returned by ModifyRequest/Response and no further modifiers are run. By default, error aggregation is disabled.

func (*Group) VerifyRequests

func (g *Group) VerifyRequests() error

VerifyRequests returns a MultiError containing all the verification errors returned by request verifiers.

func (*Group) VerifyResponses

func (g *Group) VerifyResponses() error

VerifyResponses returns a MultiError containing all the verification errors returned by response verifiers.

Source Files

fifo_group.go

Version
v3.0.0
Published
Jul 9, 2019
Platform
windows/amd64
Imports
7 packages
Last checked
1 hour ago

Tools for package owners.