private Interaction ApplyRequestFilters(Interaction interaction) { var applier = new RequestFilterApplier(); _filters.ForEach(filter => interaction = applier.Apply(filter, interaction)); return(interaction); }
private Models.Pact ApplyRequestFiltersOn(Models.Pact pact) { var updated = new Models.Pact(); updated._links = pact._links?.Clone(); updated.Consumer = new Party() { Name = pact.Consumer?.Name }; updated.Metadata = new PactMetadata() { PactSpecification = new Specification() { Version = pact.Metadata?.PactSpecification?.Version } }; updated.Provider = new Party() { Name = pact.Provider?.Name }; updated.Interactions = new List <Interaction>(); var applier = new RequestFilterApplier(); foreach (var pactInteraction in pact.Interactions) { var interaction = pactInteraction; foreach (var filter in _filters) { interaction = applier.Apply(filter, interaction); } updated.Interactions.Add(interaction); } return(updated); }