public override Maybe <IHeaderDictionary> TryValidate( IHeaderDictionary headers, CacheContentValidators response) { if (headers == null) { throw new ArgumentNullException(nameof(headers)); } if (response == null) { throw new ArgumentNullException(nameof(response)); } if (headers.ContainsKey(HeaderNames.IfModifiedSince)) { var modDate = headers[HeaderNames.IfModifiedSince]; var equal = response.LastModified.Equals(DateTimeOffset.Parse(modDate)); return(equal ? Maybe <IHeaderDictionary> .Some(response.GetHeaders()): Maybe <IHeaderDictionary> .None); } return(base.TryValidate(headers, response)); }
public override Maybe <IHeaderDictionary> TryValidate(IHeaderDictionary headers, CacheContentValidators response) { if (headers == null) { throw new ArgumentNullException(nameof(headers)); } if (response == null) { throw new ArgumentNullException(nameof(response)); } if (headers.ContainsKey(HeaderNames.IfNoneMatch)) { var eTags = headers[HeaderNames.IfNoneMatch].ToArray(); var someEqual = eTags.Any(m => m.Equals(response.ETag, StringComparison.InvariantCultureIgnoreCase)); return(someEqual ? Maybe <IHeaderDictionary> .Some(response.GetHeaders()) : Maybe <IHeaderDictionary> .None); } return(base.TryValidate(headers, response)); }