*
* Will eventually replace and standardize the WordPress HTTP requests made.
*
- * @link http://trac.wordpress.org/ticket/4779 HTTP API Proposal
+ * @link https://core.trac.wordpress.org/ticket/4779 HTTP API Proposal
*
* @package WordPress
* @subpackage HTTP
* @since 2.7.0
*
* @param array $response HTTP response.
- * @return string the response code. Empty string on incorrect parameter given.
+ * @return int|string The response code as an integer. Empty string on incorrect parameter given.
*/
function wp_remote_retrieve_response_code( $response ) {
if ( is_wp_error($response) || ! isset($response['response']) || ! is_array($response['response']))
*
* @since 3.4.0
*
- * @param string Origin URL. If not provided, the value of get_http_origin() is used.
- * @return bool True if the origin is allowed. False otherwise.
+ * @param null|string $origin Origin URL. If not provided, the value of get_http_origin() is used.
+ * @return bool|null True if the origin is allowed. False otherwise.
*/
function is_allowed_http_origin( $origin = null ) {
$origin_arg = $origin;
*
* @since 3.5.2
*
- * @return mixed URL or false on failure.
+ * @param string $url
+ * @return false|string URL or false on failure.
*/
function wp_http_validate_url( $url ) {
+ $original_url = $url;
$url = wp_kses_bad_protocol( $url, array( 'http', 'https' ) );
- if ( ! $url )
+ if ( ! $url || strtolower( $url ) !== strtolower( $original_url ) )
return false;
$parsed_url = @parse_url( $url );
if ( isset( $parsed_url['user'] ) || isset( $parsed_url['pass'] ) )
return false;
- if ( false !== strpos( $parsed_url['host'], ':' ) )
+ if ( false !== strpbrk( $parsed_url['host'], ':#?[]' ) )
return false;
$parsed_home = @parse_url( get_option( 'home' ) );
}
if ( $ip ) {
$parts = array_map( 'intval', explode( '.', $ip ) );
- if ( '127.0.0.1' === $ip
- || ( 10 === $parts[0] )
+ if ( 127 === $parts[0] || 10 === $parts[0]
|| ( 172 === $parts[0] && 16 <= $parts[1] && 31 >= $parts[1] )
|| ( 192 === $parts[0] && 168 === $parts[1] )
) {