wp/wp-includes/class-wp-http-proxy.php
changeset 16 a86126ab1dd4
parent 9 177826044cd9
child 19 3d72ae0968f4
--- 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 );
 		}
 	}
 }