Commit Graph

30 Commits

Author SHA1 Message Date
John Luo 7190412979 Tigger caching header finalization on write #92 2017-02-08 16:06:20 -08:00
John Luo 3bf5f6a1ce Restructure response caching middleware flow
- Always add IresponseCachingFeatu8re before calling the next middleware #81
- Use If-Modified-Since instead of the incorrect If-Unmodified-Since header #83
- Handle proxy-revalidate in the same way as must-revalidate #83
- Handle max-stale with no specified limit #83
- Bypass cache lookup for no-cache but store the response #83
- Bypass response capturing and buffering when no-store is specified #83
- Replace IsRequestCacheable cache policy with three new independent policy checks to reflect these changes
- Modify middleware flow to accommodate cache policy updates
2017-01-10 14:48:39 -08:00
John Luo 8e8525512d Performance optimizations
- Calculate age using operations on long
- Compute content length of resposne on store
- Format age using the new HeaderUtility
- Lazily create HeaderDictionary
- Use for instead of foreach to reduce allocations from enumerators
2016-12-14 11:37:13 -08:00
John Luo e01431f33c Relocate improvements to HttpAbstractions 2016-12-09 15:53:15 -08:00
BrennanConroy 9c94a7764b Improve header parsing performance 2016-12-09 14:23:15 -08:00
John Luo 2eb66dc684 Merge branch 'rel/1.0.0' into rel/1.0.0-preview1 2016-10-17 11:59:05 -07:00
John Luo 8acf71457e API review feedback
Rename middleware components ResponseCache => ResponseCaching

Move ResponseCachingOptions to Microsoft.AspNetCore.ResponseCaching namespace

Rename extension methods
2016-10-17 11:33:09 -07:00
moozzyk 1571a2dbe9 Removing double casts 2016-10-14 13:14:23 -07:00
John Luo bc6fff40e6 Use 1.0.0 dependencies 2016-10-12 16:42:40 -07:00
Brennan Conroy 3e3746f56e StringBuilder extension to uppercase string 2016-10-10 14:29:09 -07:00
John Luo 9d54cf1e8a Move ResponseCacheFeature to new Abstractions package (#67)
Move ResponseCacheFeature to new Abstractions package and update package version numbers
2016-10-06 15:59:14 -07:00
John Luo 3b2a2eb892 Add logging 2016-10-05 18:01:01 -07:00
John Luo aa52e66585 Make DistributedResponseCacheStore internal (#61)
Remove DistributedResponseCacheStore and move all interfaces to the Internal namespace
2016-09-30 11:24:44 -07:00
John Luo 24385e74c4 Internalize iresponsecachekeyprovider (#59)
Make IResponseCacheKeyProvider internal
2016-09-29 10:43:56 -07:00
John Luo 44b0dfd5bb Sharding (#57)
Add sharding support for MemoryResponseCacheStore

- update CachedResponse API to use streams
- added empty IResponseCacheEntry interface
2016-09-28 11:58:16 -07:00
John Luo c30d471c27 Make IResponseCacheStore APIs async 2016-09-20 12:06:56 -07:00
John Luo 673115a292 Remove todos and add a test
Issues are now resolved or are tracked in issues.
2016-09-15 17:04:21 -07:00
John Luo 6c13371fa0 API review renames and updates continued
- Consolidate base key to be singular
2016-09-15 11:40:51 -07:00
John Luo ccfa090e6e API review renames and updates 2016-09-14 11:07:23 -07:00
John Luo 65b89668bb Allow lookup of multiple keys
- Do not cache if content-length mismatches with the length of the response body
2016-09-12 16:28:58 -07:00
John Luo 6a04fe5fb7 Store body and header separately, preliminary sharding
- Add fast id
2016-09-12 15:20:58 -07:00
John Luo 7300d9e936 Refactoring ResponseCacheContext
- Extract key creationg into a service
- Extract cacheability checks into a service
- Add a ResponseCachingState feature to preserve response cache context between operations
- Recognize Set-Cookie as not-cacheable
2016-09-07 15:50:22 -07:00
John Luo d72ef128dd Adding options to specify maximum response body size 2016-09-02 11:57:59 -07:00
John Luo 3b0f01a8ec Customize key prefix instead of suffix 2016-09-02 11:54:04 -07:00
John Luo a5e9215982 Update calls for string comparison 2016-08-30 12:29:27 -07:00
John Luo 1d6c5af72c Add option for VaryBy query string params 2016-08-29 16:38:59 -07:00
John Luo fb724a71de Add configurable options for ResponseCaching
Override RequestIsCacheable

Override ResponseIsCacheable

Append customized cache key
2016-08-25 16:26:25 -07:00
John Luo 62aabc1bae Add implementation for HTTP caching 2016-08-15 13:00:24 -07:00
Ben Adams 7d716d2007 Date & Age handling 2016-08-15 12:58:01 -07:00
John Luo a40cc88169 IResponseCache adapter and support for vary by header 2016-08-04 17:50:07 -07:00