-
Notifications
You must be signed in to change notification settings - Fork 31
REST API: Add source
parameter for types endpoint
#128
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
Open
priethor
wants to merge
42
commits into
trunk
Choose a base branch
from
add/origin-parameter-for-types-endpoint
base: trunk
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
6453b6c
Initial commit, still with errors
cbravobernal dda11f7
Default should be false
cbravobernal ff4c6b0
Remove unit to try e2e
cbravobernal 5e704c1
Add query parameter to filter by post type registration ori
priethor 9f5576e
Fix PHPCS error
priethor 4c27770
Don't require the sidebar experiment to be enabled
priethor f61d429
First attempt at filtering post types by registration origin
priethor bad53df
Refactor to make it more elegant
priethor 1e128a3
Optimization
priethor 9b29cdb
Add origin to schema
priethor a4fcb14
Clean up response
priethor 4386792
Simplify and use a more elegant filter
priethor a3b901a
Fix single type queries
priethor bc62377
Cleanup
priethor 1b30485
Initial commit, still with errors
cbravobernal 4938c71
Default should be false
cbravobernal 08c005c
Remove unit to try e2e
cbravobernal 53f3531
Clean up response
priethor 1ccf496
Simplify and use a more elegant filter
priethor cebf109
Fix single type queries
priethor 978e331
Cleanup
priethor 2b76395
Resolved conflicts from rebase
priethor 7382fcf
Fix the scf fields experiment
priethor b75c136
Rename `origin` to `source`
priethor 2a2dfe1
Add unit and e2e tests
priethor 70133ce
Optimization!
priethor 2263520
Fix error in comments
priethor f5b72e5
Remove checks for SCF internal types, we only work with managed CPTs
priethor cbcc576
Update version references to specify SCF
priethor c0b5198
Undo changes done by mistake
priethor 3dc5034
Comment cleanup
priethor 602ffa4
Merge trunk into add/origin-parameter-for-types-endpoint
priethor bbd12f5
Fix `@since`annotation
priethor 49c2460
Remove console logging from the tests
priethor 28d571e
Fix syntax error
priethor a6671a7
Fix comment
priethor 17003e9
Make the e2e test more accurate yet simple
priethor 525b240
Merge branch 'trunk' into add/origin-parameter-for-types-endpoint
priethor 221cec4
Fix typo
priethor e5588b7
Fix the tests cleanup
priethor 9003531
Clear post type cache after each request
priethor 8f37ea8
Cleanup based on feedback
priethor File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.
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.
In practice, the way the REST API works is that one request corresponds to one fresh execution of the WP stack, including running through
SCF_Rest_Types_Endpoint
's constructor and down that stack. However, semantically,cached_post_types
is an instance property of a class that represents an endpoint, not a request. Here's my concern when I read this chunk:Is there any scenario (e.g. request batching or sequential
rest_do_request
calls) where it's possible to process more than one request with the same endpoint instance? If so, this cache will need invalidation. At the very least, it should be source-indexed:… but ideally its lifetime should be that of a request.
No?
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.
You are right! Instead of source-indexing it, which was something I considered from the start and wanted to avoid, I've opted for a cleaner solution in 555217b: clear the cache at the end of each request, so that it is truly stateless.