Commit Graph

39 Commits

Author SHA1 Message Date
Ryan McCue
c3c445c0c9 REST API: Use WP_REST_Request::from_url() when embedding.
See #35803.


git-svn-id: https://develop.svn.wordpress.org/trunk@36674 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 04:19:44 +00:00
Ryan McCue
92d2be6a3d REST API: Add WP_REST_Request::from_url()
Allows converting a REST URL into a Request object.

Props danielbachhuber.
Fixes #35803.


git-svn-id: https://develop.svn.wordpress.org/trunk@36673 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 04:00:12 +00:00
Drew Jaynes
203966bd4f Docs: Improve documentation for WP_REST_Request to highlight a caveat of ArrayAccess when it comes to passing similar arguments for multiple request methods.
Props danielbachhuber, DrewAPicture.
Fixes #35799.


git-svn-id: https://develop.svn.wordpress.org/trunk@36636 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 16:56:28 +00:00
Rachel Baker
6779bd5734 Docs: Add missing @since and @access tags to get_curies method and filter from r36533
See #34729, #32246.

git-svn-id: https://develop.svn.wordpress.org/trunk@36593 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 23:41:43 +00:00
DrewAPicture
305e314259 Docs: Add formatting to a changelog entry in the hook doc for the rest_dispatch_request filter.
See [36534]. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36576 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 18:17:04 +00:00
rmccue
5a945adeed REST API: Apply rest_post_dispatch to embedded responses.
Fixes #35628.
Props @danielbachhuber.


git-svn-id: https://develop.svn.wordpress.org/trunk@36536 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 06:05:02 +00:00
Ryan McCue
10bfe70f06 REST API: Allow explicit HEAD callbacks.
HEAD callbacks can now be registered independently, with the GET
callback still used as a fallback.

Fixes #34841.


git-svn-id: https://develop.svn.wordpress.org/trunk@36535 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 05:50:21 +00:00
Ryan McCue
66fc70f0e1 REST API: Add routing args to rest_dispatch_request filter.
This allows requests to be hijacked via the filter more easily.

Fixes #35507.


git-svn-id: https://develop.svn.wordpress.org/trunk@36534 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 04:40:01 +00:00
Ryan McCue
d7e7c0b81b REST API: Add support for CURIEs.
CURIEs are Compact URIs, which provide a more usable way to use
custom relations in the API. The `wp` CURIE is registered by default
for `https://api.w.org/` URI relations.

Fixes #34729.
Props joehoyle.


git-svn-id: https://develop.svn.wordpress.org/trunk@36533 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-16 02:18:34 +00:00
Joe Hoyle
a375d93001 REST API: Improve formatting of failed validation errors.
If a validation_callback returns a WP_Error it should give the same response format as if it returned `false`. This makes programmatically reading the validation errors better.

Props bradyvercher for initial patch.
Fixes #35028.


git-svn-id: https://develop.svn.wordpress.org/trunk@35890 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-12 18:22:02 +00:00
Scott Taylor
f89c25a43d REST API: Core typically sends nocache headers on all auth'ed responses, as in wp, admin-ajax, etc. Because the REST API infrastructure is hooked in pre-wp, we should be setting this ourselves.
Adds unit tests.

Props joehoyle.
Fixes #34832.


git-svn-id: https://develop.svn.wordpress.org/trunk@35773 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-04 23:35:54 +00:00
Mark Jaquith
2ddab3adf8 Route HEAD API requests through the GET callback method
fixes #34837
props danielbachhuber

git-svn-id: https://develop.svn.wordpress.org/trunk@35758 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-03 16:34:00 +00:00
Ryan McCue
cfbd88836d REST API: Unabbreviate error string.
Props daniel-koskinen.
Fixes #34818.


git-svn-id: https://develop.svn.wordpress.org/trunk@35750 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-30 09:50:56 +00:00
Ryan McCue
6b37ee4b48 REST API: Mark WP_REST_Server::get_raw_data as static.
This is just a utility function for getting the request body, not
tied to the server class.

Fixes #34768.


git-svn-id: https://develop.svn.wordpress.org/trunk@35741 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-25 22:21:51 +00:00
Andrew Nacin
8220d04e6d Simplify the include graph after work to split out classes.
see #33413. More details there.


git-svn-id: https://develop.svn.wordpress.org/trunk@35718 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-20 07:23:04 +00:00
John Blackbourn
e904632cc3 Remove register_api_field() from core. This is the only core function that utilises the $wp_rest_additional_fields global, and doesn't belong as part of the infrastructure.
See https://github.com/WP-API/WP-API/pull/1748

Fixes #34730


git-svn-id: https://develop.svn.wordpress.org/trunk@35687 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 20:38:25 +00:00
John Blackbourn
355e768312 Update WP_REST_Response::as_error() to handle the new format error responses introduced in [35653].
Props danielbachhuber
Fixes #34551


git-svn-id: https://develop.svn.wordpress.org/trunk@35671 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 18:28:55 +00:00
Ryan McCue
52bdf9d6a5 REST API: Remove redundant "0" parameter.
This is just an artifact of how we parse the URL, and is already available
via $request->get_route()

Props danielbachhuber.
Fixes #34647.


git-svn-id: https://develop.svn.wordpress.org/trunk@35659 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-18 07:23:38 +00:00
Ryan McCue
a6aa1a0754 REST API: Optimise for singular error instances.
Previously, the API returned a list of errors, as WP_Error can hold multiple
error codes internally. This isn't a particularly common use case, and it
makes handling errors on the client side more complex than it needs to be.

Fixes #34551.


git-svn-id: https://develop.svn.wordpress.org/trunk@35653 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-17 04:11:21 +00:00
Ryan McCue
10ecf65a4a REST API: Include enum and description in help data.
Props lcherpit.
Fixes #34543.


git-svn-id: https://develop.svn.wordpress.org/trunk@35652 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-17 02:48:21 +00:00
Ryan McCue
0a501976db REST API: Require namespace when registering routes.
Props danielbachhuber.
Fixes #34416.


git-svn-id: https://develop.svn.wordpress.org/trunk@35651 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-17 02:38:31 +00:00
Ryan McCue
8b4a1d65cd REST API: Change link relations to api.w.org
Fixes #34303.


git-svn-id: https://develop.svn.wordpress.org/trunk@35650 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-17 02:23:52 +00:00
Dominik Schilling (ocean90)
fbddde19eb REST API: Use correct @access tag for WP_REST_Request->get_parameter_order().
Props Frozzare.
Fixes #34624.

git-svn-id: https://develop.svn.wordpress.org/trunk@35612 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-11 19:38:24 +00:00
Scott Taylor
dc3f5a0cf5 REST API: in WP_REST_Server::dispatch(), move preg_match() out of it's current loop, which doesn't affect the context passed to it.
Props TobiasBg.
Fixes #34488.


git-svn-id: https://develop.svn.wordpress.org/trunk@35514 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-04 21:22:21 +00:00
Scott Taylor
14253d11b3 REST API: remove the @internal annotation from rest_api_default_filters().
Props swissspidy, rachelbaker.
Fixes #34219.


git-svn-id: https://develop.svn.wordpress.org/trunk@35474 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-31 20:07:21 +00:00
John Blackbourn
31f63b8b52 Remove trailing whitespace introduced in [35351].
Props rachelbaker
Unprops johnbillion
Fixes #34512


git-svn-id: https://develop.svn.wordpress.org/trunk@35462 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-30 21:38:36 +00:00
Sergey Biryukov
170d361287 REST API: Use correct version in _doing_it_wrong() call.
Props TobiasBg.
Fixes #34490.

git-svn-id: https://develop.svn.wordpress.org/trunk@35434 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-29 20:11:22 +00:00
Sergey Biryukov
42e7bfd9b5 REST API: Add missing translator comments for deprecated function and argument strings.
Props akirk.
Fixes #34486.

git-svn-id: https://develop.svn.wordpress.org/trunk@35433 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-29 19:03:47 +00:00
Scott Taylor
ff49cc7ebf REST API: don't load wp-admin/includes/admin.php on every request.
Props swissspidy.
Fixes #34395.


git-svn-id: https://develop.svn.wordpress.org/trunk@35353 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-22 16:28:40 +00:00
John Blackbourn
1691563872 Force the REST API URL to use https for its scheme when the current request is served over HTTPS and the host name matches that of the REST API URL.
This allows sites to use an admin area over HTTPS with the front end over HTTP, and not end up with a cross-protocol problem when using the REST API URL in the admin area.

Fixes #34299


git-svn-id: https://develop.svn.wordpress.org/trunk@35351 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-22 00:07:36 +00:00
John Blackbourn
2e1b898077 Revert [34352], pending investigation.
See #34299


git-svn-id: https://develop.svn.wordpress.org/trunk@35349 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-21 23:05:43 +00:00
John Blackbourn
672782f0a6 Force the REST API URL to use https for its scheme when the current request is served over HTTPS and the host name matches that of the REST API URL.
This allows sites to use an admin area over HTTPS with the front end over HTTP, and not end up with a cross-protocol problem when using the REST API URL in the admin area.

Fixes #34299


git-svn-id: https://develop.svn.wordpress.org/trunk@35342 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-21 20:37:56 +00:00
Drew Jaynes
86794324c7 Docs: Improve the return description in the DocBlock for rest_send_allow_header().
Props danielbachhuber.
Fixes #34374.


git-svn-id: https://develop.svn.wordpress.org/trunk@35324 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-21 13:47:12 +00:00
Sergey Biryukov
bc2a538b1a REST API: Change nonce name to _wpnonce.
It's shorter and is compatible with the default name in `wp_nonce_field()`.

Props danielbachhuber.
Fixes #34375.

git-svn-id: https://develop.svn.wordpress.org/trunk@35323 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-21 08:13:18 +00:00
Drew Jaynes
85af87a19b Docs: Update the default scheme for get_rest_url() from 'json' to 'rest'.
Also adds 'rest' to the documented list of schemes for `home_url()`, `get_home_url()`, `set_url_scheme()`, and the `home_url` and `set_url_scheme` hooks.

Props rachelbaker.
Fixes #34300.


git-svn-id: https://develop.svn.wordpress.org/trunk@35274 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-19 22:38:03 +00:00
Drew Jaynes
10322a38bf Docs: Fix a typo in the $blog_id parameter name in the rest_url filter doc.
Props rachelbaker.
Fixes #34351.


git-svn-id: https://develop.svn.wordpress.org/trunk@35266 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-18 23:11:49 +00:00
Scott Taylor
7a6f53d917 HTTP/REST API: move WP_HTTP_Response to wp-includes/ with the rest (ha!) of the HTTP classes. This is PHP 5.2, so this class is global, and as per @rmccue, unrelated to REST specifically.
See [34930], #33982.


git-svn-id: https://develop.svn.wordpress.org/trunk@34953 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 19:26:44 +00:00
Sergey Biryukov
ab296be565 REST API: Add some missing documentation.
Props swissspidy.
Fixes #34215.

git-svn-id: https://develop.svn.wordpress.org/trunk@34949 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 18:00:45 +00:00
Ryan McCue
b39211475d REST API: Introduce baby API to the world.
Baby API was born at 2.8KLOC on October 8th at 2:30 UTC. API has lots
of growing to do, so wish it the best of luck.

Thanks to everyone who helped along the way:

Props rmccue, rachelbaker, danielbachhuber, joehoyle, drewapicture,
adamsilverstein, netweb, tlovett1, shelob9, kadamwhite, pento,
westonruter, nikv, tobych, redsweater, alecuf, pollyplummer, hurtige,
bpetty, oso96_2000, ericlewis, wonderboymusic, joshkadis, mordauk,
jdgrimes, johnbillion, jeremyfelt, thiago-negri, jdolan, pkevan,
iseulde, thenbrent, maxcutler, kwight, markoheijnen, phh, natewr,
jjeaton, shprink, mattheu, quasel, jmusal, codebykat, hubdotcom,
tapsboy, QWp6t, pushred, jaredcobb, justinsainton, japh, matrixik,
jorbin, frozzare, codfish, michael-arestad, kellbot, ironpaperweight,
simonlampen, alisspers, eliorivero, davidbhayes, JohnDittmar, dimadin,
traversal, cmmarslender, Toddses, kokarn, welcher, and ericpedia.

Fixes #33982.


git-svn-id: https://develop.svn.wordpress.org/trunk@34928 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 02:30:18 +00:00