Make WordPress Core


Ignore:
Timestamp:
11/25/2021 01:10:30 AM (4 years ago)
Author:
SergeyBiryukov
Message:

External Libraries: Update the Requests library to version 2.0.0.

This is a major release and contains breaking changes.

Most important changes to be aware of for this release:

  • All code is now namespaced. Though there is a full backward compatibility layer available and the old class names are still supported, using them will generate a deprecation notice (which can be silenced by plugins if they'd need to support multiple WP versions). See the upgrade guide for more details.
  • A lot of classes have been marked final. This should generally not affect userland code as care has been taken to not apply the final keyword to classes which are known to be extended in userland code.
  • Extensive input validation has been added to Requests. When Requests is used as documented though, this will be unnoticable.
  • A new WpOrg\Requests\Requests::has_capabilities() method has been introduced which can be used to address #37708.
  • A new WpOrg\Requests\Response::decode_body() method has been introduced which may be usable to simplify some of the WP native wrapper code.
  • Remaining PHP 8.0 compatibility fixed (support for named parameters).
  • PHP 8.1 compatibility.

Release notes: https://github.com/WordPress/Requests/releases/tag/v2.0.0

For a full list of changes in this update, see the Requests GitHub:
https://github.com/WordPress/Requests/compare/v1.8.1...v2.0.0

Follow-up to [50842], [51078].

Props jrf, schlessera, datagutten, wojsmol, dd32, dustinrue, soulseekah, costdev, szepeviktor.
Fixes #54504.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/Requests/Transport.php

    r50842 r52244  
    33 * Base HTTP transport
    44 *
    5  * @package Requests
    6  * @subpackage Transport
     5 * @package Requests\Transport
    76 */
     7
     8namespace WpOrg\Requests;
    89
    910/**
    1011 * Base HTTP transport
    1112 *
    12  * @package Requests
    13  * @subpackage Transport
     13 * @package Requests\Transport
    1414 */
    15 interface Requests_Transport {
     15interface Transport {
    1616    /**
    1717     * Perform a request
     
    2020     * @param array $headers Associative array of request headers
    2121     * @param string|array $data Data to send either as the POST body, or as parameters in the URL for a GET/HEAD
    22      * @param array $options Request options, see {@see Requests::response()} for documentation
     22     * @param array $options Request options, see {@see \WpOrg\Requests\Requests::response()} for documentation
    2323     * @return string Raw HTTP result
    2424     */
    25     public function request($url, $headers = array(), $data = array(), $options = array());
     25    public function request($url, $headers = [], $data = [], $options = []);
    2626
    2727    /**
    2828     * Send multiple requests simultaneously
    2929     *
    30      * @param array $requests Request data (array of 'url', 'headers', 'data', 'options') as per {@see Requests_Transport::request}
    31      * @param array $options Global options, see {@see Requests::response()} for documentation
    32      * @return array Array of Requests_Response objects (may contain Requests_Exception or string responses as well)
     30     * @param array $requests Request data (array of 'url', 'headers', 'data', 'options') as per {@see \WpOrg\Requests\Transport::request()}
     31     * @param array $options Global options, see {@see \WpOrg\Requests\Requests::response()} for documentation
     32     * @return array Array of \WpOrg\Requests\Response objects (may contain \WpOrg\Requests\Exception or string responses as well)
    3333     */
    3434    public function request_multiple($requests, $options);
    3535
    3636    /**
    37      * Self-test whether the transport can be used
    38      * @return bool
     37     * Self-test whether the transport can be used.
     38     *
     39     * The available capabilities to test for can be found in {@see \WpOrg\Requests\Capability}.
     40     *
     41     * @param array<string, bool> $capabilities Optional. Associative array of capabilities to test against, i.e. `['<capability>' => true]`.
     42     * @return bool Whether the transport can be used.
    3943     */
    40     public static function test();
     44    public static function test($capabilities = []);
    4145}
Note: See TracChangeset for help on using the changeset viewer.