diff -r 3d4e9c994f10 -r a86126ab1dd4 wp/wp-includes/class-wp-http-proxy.php --- a/wp/wp-includes/class-wp-http-proxy.php Tue Oct 22 16:11:46 2019 +0200 +++ b/wp/wp-includes/class-wp-http-proxy.php Tue Dec 15 13:49:49 2020 +0100 @@ -152,53 +152,46 @@ } /** - * Whether URL should be sent through the proxy server. + * Determines whether the request should be sent through a proxy. * - * We want to keep localhost and the site URL from being sent through the proxy server, because + * We want to keep localhost and the site URL from being sent through the proxy, because * some proxies can not handle this. We also have the constant available for defining other * hosts that won't be sent through the proxy. * * @since 2.8.0 * - * @staticvar array|null $bypass_hosts - * @staticvar array $wildcard_regex - * - * @param string $uri URI to check. - * @return bool True, to send through the proxy and false if, the proxy should not be used. + * @param string $uri URL of the request. + * @return bool Whether to send the request through the proxy. */ public function send_through_proxy( $uri ) { - /* - * parse_url() only handles http, https type URLs, and will emit E_WARNING on failure. - * This will be displayed on sites, which is not reasonable. - */ - $check = @parse_url( $uri ); + $check = parse_url( $uri ); // Malformed URL, can not process, but this could mean ssl, so let through anyway. - if ( $check === false ) { + if ( false === $check ) { return true; } $home = parse_url( get_option( 'siteurl' ) ); /** - * Filters whether to preempt sending the request through the proxy server. + * Filters whether to preempt sending the request through the proxy. * * Returning false will bypass the proxy; returning true will send * the request through the proxy. Returning null bypasses the filter. * * @since 3.5.0 * - * @param null $override Whether to override the request result. Default null. - * @param string $uri URL to check. - * @param array $check Associative array result of parsing the URI. - * @param array $home Associative array result of parsing the site URL. + * @param bool|null $override Whether to send the request through the proxy. Default null. + * @param string $uri URL of the request. + * @param array $check Associative array result of parsing the request URL with `parse_url()`. + * @param array $home Associative array result of parsing the site URL with `parse_url()`. */ $result = apply_filters( 'pre_http_send_through_proxy', null, $uri, $check, $home ); if ( ! is_null( $result ) ) { return $result; } - if ( 'localhost' == $check['host'] || ( isset( $home['host'] ) && $home['host'] == $check['host'] ) ) { + if ( 'localhost' === $check['host'] || ( isset( $home['host'] ) && $home['host'] === $check['host'] ) ) { return false; } @@ -223,7 +216,7 @@ if ( ! empty( $wildcard_regex ) ) { return ! preg_match( $wildcard_regex, $check['host'] ); } else { - return ! in_array( $check['host'], $bypass_hosts ); + return ! in_array( $check['host'], $bypass_hosts, true ); } } }