Ability to modify response headers (mainly cache related headers)#2288
Merged
dunglas merged 10 commits intoapi-platform:masterfrom Nov 1, 2018
silverbackdan:modify-cache-headers
Merged
Ability to modify response headers (mainly cache related headers)#2288dunglas merged 10 commits intoapi-platform:masterfrom silverbackdan:modify-cache-headers
dunglas merged 10 commits intoapi-platform:masterfrom
silverbackdan:modify-cache-headers
Conversation
A user may wish to define response cache headers in a custom controller or per resource. E.g. a /entity/random endpoint should have a max-age of 0
Add annotation attributes for cache_headers which allows max_age and shared_max_age to be assigned per resource.
The property was added when I thought it may be good to have the option outside of 'attributes' - decided to put the option in attributes instead and failed to remove this property.
Contributor
antograssiot
left a comment
There was a problem hiding this comment.
if the core members approve the change, it will be necessary to also add a private $cacheHeaders property to ApiResource too.
Member
|
👍 on my side when @antograssiot's comments will be fixed! Thanks to both of you! |
- Order of constructor arguments + default null value - Remove 'throws' annotation - setting $resourceCacheHeaders with default fallback to empty array - Improved conditional statements
Contributor
Author
|
|
antograssiot
approved these changes
Oct 30, 2018
Updated attribute annotation to alphabetical order - moved the property into alphabetical order as well
soyuka
approved these changes
Oct 30, 2018
Member
|
Thanks @silverbackdan! |
cr3a7ure
added a commit
to cr3a7ure/core
that referenced
this pull request
Nov 5, 2018
* ApiPlatformExtension cleanup * Remove a now useless composer hack * remove unset attributes key in normalization context * Add tests on doctrine collection purge * Fix 2285 - force Yaml::dump to dump empty array as actual empty array * improve graphiql CSS * Prefix root resource route_prefix to sub-resources Unit test also added * Bump PHPStan analysis to level 6 (api-platform#2272) * Bump PHPStan analysis to level 6 * Bump PHPStan analysis to level 6 * Bump PHPStan analysis to level 6 * Deprecate dead code in QueryJoinParser and remove internal usage * Add a non regression test for api-platform#2285 api-platform#2286 * Ability to modify response headers (mainly cache related headers) (api-platform#2288) * Allow user-defined cache headers A user may wish to define response cache headers in a custom controller or per resource. E.g. a /entity/random endpoint should have a max-age of 0 * Override cache max-age and shared-max-age Add annotation attributes for cache_headers which allows max_age and shared_max_age to be assigned per resource. * Remove unused property The property was added when I thought it may be good to have the option outside of 'attributes' - decided to put the option in attributes instead and failed to remove this property. * Code style fixes * Test code style fix * Review changes applied - Order of constructor arguments + default null value - Remove 'throws' annotation - setting $resourceCacheHeaders with default fallback to empty array - Improved conditional statements * Add cacheHeaders Attribute annotation * Accidental typo * Alphabetical order Updated attribute annotation to alphabetical order - moved the property into alphabetical order as well * Add data providers and data persisters matches to the debug panel (api-platform#2262) * Add data providers and data persisters matches to the debug panel * Add tests on traceable providers and persisters * Use internal public properties * Merge config file and add tests on Extension * Avoid extra loop in data persister/providers * remove duplicated code * Fix after rebasing * Allow an input and an output for a given resource class * [Bugfix] Remove type Error
dunglas
added a commit
to dunglas/doc
that referenced
this pull request
Jan 8, 2019
antograssiot
added a commit
to api-platform/docs
that referenced
this pull request
Jan 9, 2019
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The cache headers should be able to be modified and then not overwritten by the
AddHeadersListener. Also added annotation configuration for cache header expiry times so each resource can have a different expiry time if required.