public static MockHttpResponseMessage WithCacheHeader(this MockHttpResponseMessage response, string publicity = "public", DateTimeOffset?expires = null, DateTimeOffset?lastModified = null, string etag = null, TimeSpan?maxAge = null) { response.Headers.CacheControl = response.Headers.CacheControl ?? new CacheControlHeaderValue(); if (publicity == "public") { response.WithPublicCacheHeader(); } else { response.WithPrivateCacheHeader(); } if (maxAge != null) { response.WithMaxAge(maxAge.Value); } if (response.Content != null) { response.Content.Headers.LastModified = lastModified ?? DateTimeOffset.UtcNow; } response.WithEtag(etag); return(response); }
public static MockHttpResponseMessage WithExpiration(this MockHttpResponseMessage response, DateTimeOffset expiration) { var exp = expiration.ToUniversalTime(); response.WithMaxAge(exp - DateTimeOffset.UtcNow); if (response.Content != null) { response.Content.Headers.Expires = exp; } return(response); }