[wp-trac] [WordPress Trac] #33055: Support Parallel HTTP Requests in WP_Http, et al

WordPress Trac noreply at wordpress.org
Tue Apr 12 07:30:00 UTC 2016


#33055: Support Parallel HTTP Requests in WP_Http, et al
---------------------------------+-----------------------------
 Reporter:  wonderboymusic       |       Owner:  rmccue
     Type:  task (blessed)       |      Status:  assigned
 Priority:  normal               |   Milestone:  Future Release
Component:  HTTP API             |     Version:
 Severity:  normal               |  Resolution:
 Keywords:  early needs-refresh  |     Focuses:  performance
---------------------------------+-----------------------------

Comment (by rmccue):

 Replying to [comment:19 ocean90]:
 > Some random thoughts about [attachment:33055.2.diff]:
 >
 > * Requests uses `spl_autoload_register()` so we have to provide a
 fallback in case SPL is disabled.

 See #36335; I want to add a shim as part of that ticket, which would
 handle it nicely. If that doesn't ship, should be easy enough to do.

 > * `WP_Requests_Hooks` needs some whitespace love. Is it part of Request
 or WP? Asking because of the `@package` tag and because it's in the root
 of `/wp-includes/`.

 WP; I'll correct the whitespacing.

 > * `/wp-includes/requests/Requests/` looks weird. Can we move it up one
 dir?

 We can, but then `Requests.php` needs to live somewhere, and may be a bit
 harder to update from upstream. I guess if we have to, a `class-
 requests.php`?

 > * What's the status of https://github.com/rmccue/Requests-
 WPHTTP/issues/1?

 In-progress; [https://github.com/rmccue/Requests/issues/178 Requests issue
 178] handles the 302, although [comment:9] discusses why we might not want
 to fix that. I'll round these up this week.

 > * Are they any other tickets which could be marked as fixed as soon as
 Requests lands?
 (https://core.trac.wordpress.org/query?status=!closed&component=HTTP+API)

 Yes. At a glance, the following should be fixed:

 * #13841 and #32932 - Requests checks
 [https://github.com/rmccue/Requests/blob/8ce2aff7787ddd63ea4979410b2d88bb50141cba/library/Requests/Transport/fsockopen.php#L238-L241
 specifically for timeouts]
 * #17010 - Requests hides the 100 Continue from the end-user, as it's for
 internal handling only.
 * #33271 - Requests uses `wb` mode rather than `w+`
 * #34053 - Pretty sure Requests isn't susceptible to this.
 * #34538 - Requests uses
 [https://github.com/rmccue/Requests/blob/8ce2aff7787ddd63ea4979410b2d88bb50141cba/library/Requests/SSL.php#L141-L148
 ip2long] instead of a regex.
 * #36253 - Requests
 [https://github.com/rmccue/Requests/blob/8ce2aff7787ddd63ea4979410b2d88bb50141cba/library/Requests/Transport/fsockopen.php#L171-L178
 handles this differently]

 > * Can we get a refresh of the patch so it could potentially land on day
 one of 4.6?

 Will-do.

 > * "We can also remove the HTTP tests from the core tests if you'd like,
 since they're all covered by Requests' tests already. " I wouldn't remove
 them directly. Let's make sure that our tests are passing too and remove
 them only when the implementation is finished.

 Makes sense.

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


More information about the wp-trac mailing list