private static ConditionInformation ExecuteExtractors(ConditionalHeaders condHeaders, NameValueCollection requestHeaders, OperationTypeForConditionParsing operationType, string requestVersion, IConditionExtractor[] extractors) { ConditionInformation conditionInformation = new ConditionInformation() { IsMultipleConditionalHeaderEnabled = true }; IConditionExtractor[] conditionExtractorArray = extractors; for (int i = 0; i < (int)conditionExtractorArray.Length; i++) { IConditionExtractor conditionExtractor = conditionExtractorArray[i]; try { conditionExtractor.ProcessConditionalHeader(condHeaders, requestHeaders, operationType, requestVersion, conditionInformation); } catch (InvalidHeaderProtocolException invalidHeaderProtocolException) { } } return(conditionInformation); }
static MultipleConditionExtractor() { IConditionExtractor[] ifModifiedConditionExtractorV2 = new IConditionExtractor[] { new IfModifiedConditionExtractorV2(), new IfNoneMatchConditionExtractorV2(), new IfUnmodifiedConditionExtractorV2(), new IfMatchConditionExtractorV2(), new IfRangeConditionExtractorV2() }; MultipleConditionExtractor.Extractors = ifModifiedConditionExtractorV2; }