[wp-trac] [WordPress Trac] #39066: `fetch_feed()` changes REST API response `Content-Type`

WordPress Trac noreply at wordpress.org
Sun Dec 4 19:10:52 UTC 2016

#39066: `fetch_feed()` changes REST API response `Content-Type`
 Reporter:  dlh           |      Owner:
     Type:  defect (bug)  |     Status:  new
 Priority:  normal        |  Milestone:  Awaiting Review
Component:  REST API      |    Version:
 Severity:  normal        |   Keywords:
  Focuses:                |
 I have a custom endpoint that returns data derived from widgets.
 `WP_Widget_RSS::widget()` calls `fetch_feed()`, which sends a `Content-
 type: text/html` header via `SimplePie::handle_content_type()`. So, if I
 don't send another `application/json` header at the end of my callback,
 the response content type ends up `text/html`.

 This could be "fixed" by resending the `application/json` header after
 running a route callback. But any function could still change the headers
 later, so resending the header seems a little arbitrary.

 Another approach would be to, case-by-case, catch core functions that
 could inadvertantly change headers during an API response. The attached
 patch would implement this approach for `fetch_feed()`. But having to
 apply the same fix to multiple functions over time could also get

 Of course, a third approach could be to call it a `wontfix` based on
 nothing being "wrong" in either `fetch_feed()` or the API.

Ticket URL: <https://core.trac.wordpress.org/ticket/39066>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform

More information about the wp-trac mailing list