[wp-trac] [WordPress Trac] #45933: WSODs protection returns incorrect content type for JSON Requests

WordPress Trac noreply at wordpress.org
Sun Jan 20 13:03:19 UTC 2019


#45933: WSODs protection returns incorrect content type for JSON Requests
------------------------------------------------+------------------------
 Reporter:  spacedmonkey                        |       Owner:  flixos90
     Type:  defect (bug)                        |      Status:  reviewing
 Priority:  normal                              |   Milestone:  5.1
Component:  Bootstrap/Load                      |     Version:  trunk
 Severity:  normal                              |  Resolution:
 Keywords:  servehappy needs-testing has-patch  |     Focuses:  multisite
------------------------------------------------+------------------------
Changes (by flixos90):

 * keywords:  servehappy needs-patch needs-testing => servehappy needs-
     testing has-patch


Comment:

 [attachment:"45933.2.diff"] is a modification of
 [attachment:"45933.10.diff"] that makes the following changes:

 * Make `_wp_die_process_input()` more predictable and aligned with other
 functions: You pass in `$message`, `$title`, and `$args`, and you get back
 `$message`, `$title`, and `$args`.
 * Move all input data processing into the new function so that the
 handlers really only need to worry about the output. For example, the
 `wp_parse_args()` call and default values for arguments like
 `text_direction` are now handled there as well (note that
 `_ajax_wp_die_handler()` still contains its own call to ensure the
 "irregular" default of a 200 response code). The handler itself is then
 free to choose which of that information to render.
 * Ensure that additional errors each contain their code, message, and data
 rather than only their message.
 * Ensure that JSON output is formatted coherently with REST API errors,
 with a `data` key including `status` instead of `status` in the root.

 This way it is ensured that the function calling `wp_die()` does not need
 to know what kind of request is currently being made. Regardless of
 how/which arguments are passed, they will just work.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/45933#comment:34>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list