New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add REST API cache busting mechanism. #6948
Conversation
_inc/client/rest-api/index.js
Outdated
} | ||
|
||
function postRequest( route, body ) { | ||
return fetch( addCacheBuster( route ), assign( {}, postParams, body ) ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it is necessary to cache bust POST requests. Browsers don't cache them by default.
_inc/client/rest-api/index.js
Outdated
} | ||
|
||
function getRequest( route ) { | ||
return fetch( addCacheBuster( route ), getParams ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be good to pass in the getParams
explicitly into the function. So that the code is more readable.
_inc/client/rest-api/index.js
Outdated
: '', | ||
args = query.split( '&' ); | ||
|
||
args.push( '_rnd=' + ( 10e9 * Math.random() ) ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
instead of doing generating a random math character. I would suggest we just use the current time in seconds or milliseconds with
var ddate = new Date();
var milliseconds = d.getTime();
also can we make the _rnd
more explicit with something like _cacheBuster
I like enej's suggestions, but otherwise this is a nice change 👍 |
…he busting on POST requests, fixed query param handling.
Thanks for the review @enejb, @dereksmart ! I have made changes to account for all the comments. |
Changes look good! Let's get this in |
Looks good! |
* Changelog: initial commit for 4.9 release. * Changelog: add #6929 * Changelog: move old changelogs to changelog.txt * Readme: restore deleted release post link. The post is now live. * Changelog: add #6853 * Changelog: add #6856 * Changelog: add #6857 * Changelog: add #6884 * Changelog: add #6885 * Changelog: add #6892 * Changelog: add #6894 * Changelog: add #6898 * Changelog: add #6899 * Changelog: add #6900 * Changelog: add #6909 * Changelog: add #6927 * Changelog: add #6947 * Chagelog: add #6958 * Changelog: add #6961 * Changelog: add #6963 * Changelog: add #6965 * Changelog: add #6986 * Changelog: add #7000 * Changelog: add #7013 * Changelog: add #7015 * Changelog: add #7019 * Changelog: add #7028 * Changelog: add #6998 * Changelog: add #6999 * Changelog: add #7044 * Changelog: add #6881 * Changelog: add #6922 * Changelog: add #6940 * Changelog: add #6962 * Changelog: add #6942 * Changelog: add #6959 * Changelog: add #7018 * Changelog: add #6948 * Changelog: add #6657 * Changelog: add #7030 * Changelog: add #7048 * Changelog: add #7031 * Changelog: add #6990 * Changelog: add #6957 * Changelog: add #7027
Fixes #5217
Changes proposed in this Pull Request:
Testing instructions:
304 Not Modified
. My guess is that it's because the server sends back theLast-Modified
header with the zero epoch time every time. If you can't reproduce it, try adding the header to API responses manually with this:Proposed changelog entry for your changes: