WordPress.org

Make WordPress Core

Opened 3 days ago

Last modified 42 hours ago

#49404 new defect (bug)

WP_REST_Request->parse_json_params only supports 'application/json'

Reported by: pfefferle Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: REST API Keywords:
Focuses: rest-api Cc:
PR Number:

Description

The parse_json_params function only supports application/json to parse the body as JSON, that means every subtype like application/ld+json or application/activity+json will be ignored. It is also possible to add additional data like application/json; profile="https://www.w3.org/ns/activitystreams" that will be also ignored by the current implementation.

I would recomment to use a more generic check like:

preg_match( '/application\/(\w+\+)?json.*/i', $content_type )

and/or a filter to overwrite the check.

Change History (3)

This ticket was mentioned in Slack in #core-restapi by pfefferle. View the logs.


3 days ago

#2 @pfefferle
2 days ago

JSON Content-(Sub)Type examples:

ActivityPub https://www.w3.org/TR/activitypub/

JF2Feed https://www.w3.org/TR/jf2/

  • application/jf2feed+json

JSON Web Signature (JWS) https://tools.ietf.org/html/rfc7515

  • application/jose+json

WebFinger https://tools.ietf.org/html/rfc7033

  • application/jrd+json

Here is the complete list: https://www.iana.org/assignments/media-types/media-types.xhtml#application

This ticket was mentioned in Slack in #core by noisysocks. View the logs.


42 hours ago

Note: See TracTickets for help on using tickets.