Commit Graph

135 Commits

Author SHA1 Message Date
Sergey Biryukov
0b4e2c4604 Coding Standards: Use strict type check for in_array() and array_search() where strings are involved.
This reduces the number of `WordPress.PHP.StrictInArray.MissingTrueStrict` issues from 486 to 50.

Includes minor code layout fixes for better readability.

See #49542.

git-svn-id: https://develop.svn.wordpress.org/trunk@47550 602fd350-edb4-49c9-b593-d223f7449a82
2020-04-05 03:00:44 +00:00
Sergey Biryukov
84764d4cee Docs: Add a @staticvar entry for $transports in WP_Http::_dispatch_request().
Props utsav72640.
Fixes #48774.

git-svn-id: https://develop.svn.wordpress.org/trunk@47346 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-22 19:10:47 +00:00
Sergey Biryukov
130751cda3 Coding Standards: Use Yoda conditions where appropriate.
See #49222.

git-svn-id: https://develop.svn.wordpress.org/trunk@47219 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-09 16:52:28 +00:00
Sergey Biryukov
e72fff9cef Code Modernization: Replace dirname( __FILE__ ) calls with __DIR__ magic constant.
This avoids the performance overhead of the function call every time `dirname( __FILE__ )` was used instead of `__DIR__`.

This commit also includes:

* Removing unnecessary parentheses from `include`/`require` statements. These are language constructs, not function calls.
* Replacing `include` statements for several files with `require_once`, for consistency:
 * `wp-admin/admin-header.php`
 * `wp-admin/admin-footer.php`
 * `wp-includes/version.php`

Props ayeshrajans, desrosj, valentinbora, jrf, joostdevalk, netweb.
Fixes #48082.

git-svn-id: https://develop.svn.wordpress.org/trunk@47198 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-06 06:31:22 +00:00
Sergey Biryukov
73e75195eb Docs: Add more specific description for WP_Http::processResponse() return value.
Props marekdedic, takeshifurusato.
Fixes #48351.

git-svn-id: https://develop.svn.wordpress.org/trunk@47161 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-02 03:25:57 +00:00
Sergey Biryukov
cfc3b57488 Docs: Improve inline comments per the documentation standards.
Includes minor code layout fixes for better readability.

See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@47122 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-29 00:43:23 +00:00
Sergey Biryukov
79391187c9 Docs: Correct DocBlock formatting for filters accepting the $parsed_args parameter.
Follow-up to [45667].

See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@47096 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-21 15:39:17 +00:00
Sergey Biryukov
4c2ee4e9ff Docs: In various @return tags, list the expected type first, instead of false.
Follow-up to [46696].

See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@47060 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-11 18:30:58 +00:00
Sergey Biryukov
7261695f7d Docs: Correct @type for timeout argument in WP_Http::request().
Props georgestephanis, benedictsinger.
Fixes #49005.

git-svn-id: https://develop.svn.wordpress.org/trunk@46970 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-17 15:23:33 +00:00
Sergey Biryukov
a31133173d Coding Standards: Fix WPCS issue in [46690].
See #41880.

git-svn-id: https://develop.svn.wordpress.org/trunk@46692 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-10 01:43:55 +00:00
Sergey Biryukov
99132f8abc Docs: Improve documentation for WP_Http per the documentation standards.
Props hareesh-pillai, adnan.limdi, isabel_brison.
Fixes #41880.

git-svn-id: https://develop.svn.wordpress.org/trunk@46690 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-10 01:17:00 +00:00
John Blackbourn
4f281f1650 Docs: Switch more docs over to typed array notation, plus some fixes.
See #48303, #41756


git-svn-id: https://develop.svn.wordpress.org/trunk@46596 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-26 21:07:10 +00:00
John Blackbourn
cda19de292 Docs: Fix and improve inline documentation for the HTTP API.
See #47110


git-svn-id: https://develop.svn.wordpress.org/trunk@46468 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-12 18:03:22 +00:00
John Blackbourn
86b0faf219 Docs: Miscellaneous inline docs corrections and improvements.
See #47110 


git-svn-id: https://develop.svn.wordpress.org/trunk@46424 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-07 19:06:41 +00:00
John Blackbourn
6bd7097626 Docs: Docblock corrections and improvements, mostly related to various pre_* filters.
See #47110


git-svn-id: https://develop.svn.wordpress.org/trunk@46232 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-21 17:40:58 +00:00
Sergey Biryukov
e5a0610d53 Coding Standards: Rename $r variable used with wp_parse_args() to $parsed_args for clarity.
Props freewebmentor.
Fixes #45059.

git-svn-id: https://develop.svn.wordpress.org/trunk@45667 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-25 00:47:53 +00:00
Gary Pendergast
4503f93961 Coding Standards: Fix the Squiz.PHP.DisallowMultipleAssignments violations in wp-includes.
See #47632.



git-svn-id: https://develop.svn.wordpress.org/trunk@45590 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-02 23:41:16 +00:00
Gary Pendergast
ef5a9dfda6 Coding Standards: Fix/ignore the WordPress.NamingConventions.ValidFunctionName violations.
See #47632



git-svn-id: https://develop.svn.wordpress.org/trunk@45580 602fd350-edb4-49c9-b593-d223f7449a82
2019-07-01 08:00:12 +00:00
johnbillion
ea0a34c649 HTTP API: Ensure the http_api_debug hook is fired for all responses.
This means that logging and debugging functionality can access the error code and error message for erroneous responses under all conditions. The hook is not fired when a request is short-circuited with the `pre_http_request` filter, because this filter itself can be used in that situation.

Fixes #25747


git-svn-id: https://develop.svn.wordpress.org/trunk@45504 602fd350-edb4-49c9-b593-d223f7449a82
2019-06-08 17:09:02 +00:00
Gary Pendergast
3652d05fcf HTTP: Add support for the host-only flag to Wp_Http_Cookie.
Props soulseekah.
Fixes #43231.


git-svn-id: https://develop.svn.wordpress.org/trunk@45135 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-08 05:31:35 +00:00
Jonathan Desrosiers
ce6fc7a8f4 Docs: Update since annotation for new $url parameter for several HTTP related filters.
Introduced in [42682].

Fixes #42186.

git-svn-id: https://develop.svn.wordpress.org/trunk@44397 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-04 21:57:06 +00:00
Sergey Biryukov
a5e6c8a7d8 Docs: Update @deprecated tag for WP_Http::_dispatch_request(). See [42766].
Fixes #43414.

git-svn-id: https://develop.svn.wordpress.org/trunk@44346 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-20 01:58:13 +00:00
John Blackbourn
6449cc7970 Docs: Add missing HTTP methods to the list of those supported.
See #42505


git-svn-id: https://develop.svn.wordpress.org/trunk@43258 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-14 15:22:45 +00:00
John Blackbourn
cf400b9bc4 Docs: Correct and improve various inline documentation.
See #42505


git-svn-id: https://develop.svn.wordpress.org/trunk@42877 602fd350-edb4-49c9-b593-d223f7449a82
2018-03-25 19:34:31 +00:00
Sergey Biryukov
b15919c8dd Docs: Mark WP_Http::_dispatch_request() as deprecated. It's no longer used since [37428].
Fixes #43414.

git-svn-id: https://develop.svn.wordpress.org/trunk@42766 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-28 03:47:14 +00:00
Sergey Biryukov
ba26942df6 Docs: Remove erroneous @static notation from WP_Http::_dispatch_request(), added in [32650].
The method was never user as static.

Props birgire.
See #42803.

git-svn-id: https://develop.svn.wordpress.org/trunk@42751 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-25 21:34:09 +00:00
Sergey Biryukov
1bd0df76cf Docs: Remove duplicated DocBlock for http_response hook in WP_Http::_dispatch_request().
The filter is already documented in `WP_Http::request()`.

See #42505.

git-svn-id: https://develop.svn.wordpress.org/trunk@42750 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-25 21:31:26 +00:00
Sergey Biryukov
c6c4edb47a Docs: Remove @static notations from method DocBlocks in wp-includes/* classes.
This tag has been used in the past, but should no longer be used. Just using the `static` keyword in code is enough for PhpDocumentor on PHP5+ to recognize static variables and methods, and PhpDocumentor will mark them as static.

Props birgire.
See #42803.

git-svn-id: https://develop.svn.wordpress.org/trunk@42746 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-25 20:21:37 +00:00
John Blackbourn
9f154bbf21 HTTP API: Add the URL as a paramter to various HTTP related filters.
Props paulschreiber, purnendu

Fixes #42186


git-svn-id: https://develop.svn.wordpress.org/trunk@42682 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-09 18:10:15 +00:00
Gary Pendergast
8f95800d52 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-30 23:09:33 +00:00
John Blackbourn
ff1d2b5ccb HTTP API: Add a WP_Http class constant for the HTTP status code 301.
Fixes #42490


git-svn-id: https://develop.svn.wordpress.org/trunk@42208 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-20 20:53:20 +00:00
Sergey Biryukov
cb3abb4abc Docs: Correct type and description for the $data parameter in WP_Http::browser_redirect_compatibility().
Fixes #41380.

git-svn-id: https://develop.svn.wordpress.org/trunk@41907 602fd350-edb4-49c9-b593-d223f7449a82
2017-10-18 16:37:08 +00:00
Sergey Biryukov
8906b0cdf9 Docs: Change $args to $r in the DocBlock for http_api_debug filter to match the variable name.
Props bor0, ronakganatra.
Fixes #41379.

git-svn-id: https://develop.svn.wordpress.org/trunk@41562 602fd350-edb4-49c9-b593-d223f7449a82
2017-09-22 09:32:30 +00:00
Drew Jaynes
70027dd170 Docs: Add missing documentation for the $data parameter for WP_Http::browser_redirect_compatibility().
Props ronakganatra for the initial patch.
Fixes #41380.


git-svn-id: https://develop.svn.wordpress.org/trunk@41218 602fd350-edb4-49c9-b593-d223f7449a82
2017-08-03 15:23:25 +00:00
Drew Jaynes
b4d81bd654 Docs: Remove @access notations from method DocBlocks in wp-includes/* classes.
Prior to about 2013, many class methods lacked even access modifiers which made the `@access` notations that much more useful. Now that we've gotten to a point where the codebase is more mature from a maintenance perspective and we can finally remove these notations. Notable exceptions to this change include standalone functions notated as private as well as some classes still considered to represent "private" APIs.

See #41452.


git-svn-id: https://develop.svn.wordpress.org/trunk@41162 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-27 00:40:27 +00:00
Sergey Biryukov
6229dd05b5 Docs: Change @version entry for WP_Http::buildCookieHeader() to @since.
See #41381.

git-svn-id: https://develop.svn.wordpress.org/trunk@41105 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-20 13:14:50 +00:00
Sergey Biryukov
c6ba869397 Docs: Add @access entries for WP_Http::block_request(), ::handle_redirects(), and ::is_ip_address().
Props ronakganatra.
Fixes #41381.

git-svn-id: https://develop.svn.wordpress.org/trunk@41104 602fd350-edb4-49c9-b593-d223f7449a82
2017-07-20 13:13:09 +00:00
Sergey Biryukov
84fa8a9ff1 Docs: Add a missing quote in user-agent argument description in WP_Http::request().
Props ixkaito.
Fixes #41154.

git-svn-id: https://develop.svn.wordpress.org/trunk@40934 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-25 06:59:41 +00:00
Pascal Birchler
8278c5ee9c Improve redirect handling
git-svn-id: https://develop.svn.wordpress.org/trunk@40689 602fd350-edb4-49c9-b593-d223f7449a82
2017-05-16 08:37:34 +00:00
Dion Hulse
6ade77e936 WP_HTTP: Map internal Requests hooks to WordPress actions.
This change introduces a `requests-{$hook}` action which can be used to hook into Requests hooks, and restores the `http_api_curl` action.

Props rmccue.
Fixes #37843.


git-svn-id: https://develop.svn.wordpress.org/trunk@39212 602fd350-edb4-49c9-b593-d223f7449a82
2016-11-13 10:35:15 +00:00
Dion Hulse
3df3b11e98 HTTP: Call mbstring_binary_safe_encoding() before making a request with Requests to avoid issues with mbstring.func_overload.
Props SergeyBiryukov.
Fixes #38226.


git-svn-id: https://develop.svn.wordpress.org/trunk@38894 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-25 00:44:13 +00:00
Dion Hulse
3586523daf HTTP: Update Requests to master (0048f3c) which fixes a number of outstanding issues.
Fixes #38070, #37733 by reverting part of [38429] and using the fix in Requests.
Fixes #37992 allowing for connecting to SSL resources on ports other than 443.
Fixes #37991 by not sending default ports in the `Host:` header.
Fixes #37839 to match and decode Chunked responses correctly.
Fixes #38232 allowing a SSL connection to ignore the hostname of the certificate when verification is disabled.


git-svn-id: https://develop.svn.wordpress.org/trunk@38727 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-05 03:23:54 +00:00
Scott Taylor
cba0e2c8f7 Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389.
See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38470 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-31 16:30:48 +00:00
Scott Taylor
1825eff382 General: use get_bloginfo( 'version' ) instead of global $wp_version in several locations - excluding those locations which reload version.php mid-flight.
See #37699.


git-svn-id: https://develop.svn.wordpress.org/trunk@38459 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-31 05:48:49 +00:00
Dion Hulse
e916b9e14c HTTP: Accept non-string values in cookies, fixing a regression since 4.5.
Props swissspidy.
Fixes #37768 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@38430 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-29 02:41:56 +00:00
Dion Hulse
7f2a81061a HTTP: Handle an edgecase within the URI parsing library included in Requests, where if a double slash exists at the start of the path the URL is passed to cURL malformed.
Props flixos90 for initial patch.
Fixes #37733 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@38429 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-29 02:32:48 +00:00
Scott Taylor
4225e71a6b Bootstrap: after r38409 and r38410, revert r38402 which reverted r38399.
This fixes the paths in `wp-vendor/` that were including `src`. I want to drop this in so we can find out what else will break.

See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38411 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 22:31:11 +00:00
Dion Hulse
e353179ce5 Bootstrap: Revert [38399] as it's broken /build/ and subsequently core.svn.wordpress.org.
The generated classmaps reference `/src/` files and operates in the assumption that the base directory is one level above `wp-settings.php`, which it isn't after our build processes are run.

See #36335


git-svn-id: https://develop.svn.wordpress.org/trunk@38402 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 14:36:42 +00:00
Scott Taylor
388690382c Bootstrap: Autoload classes using a Composer-generated PHP 5.2-compatible Autoloader.
* `wp-admin` and `wp-includes` are scanned for classes to autoload
* Several 3rd-party and Ryan McCue-shaped libraries are excluded when the classmap is generated, see `composer.json`: `autoload.exclude-from-classmap`
* `wp-vendor/autoload_52.php` is included at the top of `wp-settings.php` - no changes need to be made to unit tests to include the autoloader
* An avalanche of `require()` and `require_once()` calls that loaded class files have been removed from the codebase.

The following files have been added to `svn:ignore` - they are not 5.2-compatible and fail during pre-commit:
* src/wp-vendor/autoload.php
* src/wp-vendor/composer/autoload_real.php
* src/wp-vendor/composer/autoload_static.php
* src/wp-vendor/composer/ClassLoader.php

We favor these files instead:
* src/wp-vendor/autoload_52.php
* src/wp-vendor/composer/autoload_real_52.php
* src/wp-vendor/composer/ClassLoader52.php

When new PHP classes are added to the codebase, simply run `composer install` or `composer update` from the project root to update the autoloader.

The future is now.

See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38399 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 09:15:01 +00:00
Dominik Schilling
11e4642c67 HTTP API: Set $use_authentication property of Requests_Proxy_HTTP to true when proxy authentication is required.
Props francescobagnoli for initial patch.
Fixes #37494.

git-svn-id: https://develop.svn.wordpress.org/trunk@38173 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-31 18:19:02 +00:00