Current File : /home/tsgmexic/4pie.com.mx/wp-includes/class-wp-http-proxy.php
<?php
/**
 * HTTP API: WP_HTTP_Proxy class
 *
 * @package WordPress
 * @subpackage HTTP
 * @since 4.4.0
 */

/**
 * Core class used to implement HTTP API proxy support.
 *
 * There are caveats to proxy support. It requires that defines be made in the wp-config.php file to
 * enable proxy support. There are also a few filters that plugins can hook into for some of the
 * constants.
 *
 * Please note that only BASIC authentication is supported by most transports.
 * cURL MAY support more methods (such as NTLM authentication) depending on your environment.
 *
 * The constants are as follows:
 * <ol>
 * <li>WP_PROXY_HOST - Enable proxy support and host for connecting.</li>
 * <li>WP_PROXY_PORT - Proxy port for connection. No default, must be defined.</li>
 * <li>WP_PROXY_USERNAME - Proxy username, if it requires authentication.</li>
 * <li>WP_PROXY_PASSWORD - Proxy password, if it requires authentication.</li>
 * <li>WP_PROXY_BYPASS_HOSTS - Will prevent the hosts in this list from going through the proxy.
 * You do not need to have localhost and the site host in this list, because they will not be passed
 * through the proxy. The list should be presented in a comma separated list, wildcards using * are supported. Example: *.wordpress.org</li>
 * </ol>
 *
 * An example can be as seen below.
 *
 *     define('WP_PROXY_HOST', '192.168.84.101');
 *     define('WP_PROXY_PORT', '8080');
 *     define('WP_PROXY_BYPASS_HOSTS', 'localhost, www.example.com, *.wordpress.org');
 *
 * @link https://core.trac.wordpress.org/ticket/4011 Proxy support ticket in WordPress.
 * @link https://core.trac.wordpress.org/ticket/14636 Allow wildcard domains in WP_PROXY_BYPASS_HOSTS
 *
 * @since 2.8.0
 */
#[AllowDynamicProperties]
class WP_HTTP_Proxy {

	/**
	 * Whether proxy connection should be used.
	 *
	 * Constants which control this behavior:
	 *
	 * - `WP_PROXY_HOST`
	 * - `WP_PROXY_PORT`
	 *
	 * @since 2.8.0
	 *
	 * @return bool
	 */
	public function is_enabled() {
		return defined( 'WP_PROXY_HOST' ) && defined( 'WP_PROXY_PORT' );
	}

	/**
	 * Whether authentication should be used.
	 *
	 * Constants which control this behavior:
	 *
	 * - `WP_PROXY_USERNAME`
	 * - `WP_PROXY_PASSWORD`
	 *
	 * @since 2.8.0
	 *
	 * @return bool
	 */
	public function use_authentication() {
		return defined( 'WP_PROXY_USERNAME' ) && defined( 'WP_PROXY_PASSWORD' );
	}

	/**
	 * Retrieve the host for the proxy server.
	 *
	 * @since 2.8.0
	 *
	 * @return string
	 */
	public function host() {
		if ( defined( 'WP_PROXY_HOST' ) ) {
			return WP_PROXY_HOST;
		}

		return '';
	}

	/**
	 * Retrieve the port for the proxy server.
	 *
	 * @since 2.8.0
	 *
	 * @return string
	 */
	public function port() {
		if ( defined( 'WP_PROXY_PORT' ) ) {
			return WP_PROXY_PORT;
		}

		return '';
	}

	/**
	 * Retrieve the username for proxy authentication.
	 *
	 * @since 2.8.0
	 *
	 * @return string
	 */
	public function username() {
		if ( defined( 'WP_PROXY_USERNAME' ) ) {
			return WP_PROXY_USERNAME;
		}

		return '';
	}

	/**
	 * Retrieve the password for proxy authentication.
	 *
	 * @since 2.8.0
	 *
	 * @return string
	 */
	public function password() {
		if ( defined( 'WP_PROXY_PASSWORD' ) ) {
			return WP_PROXY_PASSWORD;
		}

		return '';
	}

	/**
	 * Retrieve authentication string for proxy authentication.
	 *
	 * @since 2.8.0
	 *
	 * @return string
	 */
	public function authentication() {
		return $this->username() . ':' . $this->password();
	}

	/**
	 * Retrieve header string for proxy authentication.
	 *
	 * @since 2.8.0
	 *
	 * @return string
	 */
	public function authentication_header() {
		return 'Proxy-Authorization: Basic ' . base64_encode( $this->authentication() );
	}

	/**
	 * 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, 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
	 *
	 * @param string $uri URL of the request.
	 * @return bool Whether to send the request through the proxy.
	 */
	public function send_through_proxy( $uri ) {
		$check = parse_url( $uri );

		// Malformed URL, can not process, but this could mean ssl, so let through anyway.
		if ( false === $check ) {
			return true;
		}

		$home = parse_url( get_option( 'siteurl' ) );

		/**
		 * 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 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'] ) ) {
			return false;
		}

		if ( ! defined( 'WP_PROXY_BYPASS_HOSTS' ) ) {
			return true;
		}

		static $bypass_hosts   = null;
		static $wildcard_regex = array();
		if ( null === $bypass_hosts ) {
			$bypass_hosts = preg_split( '|,\s*|', WP_PROXY_BYPASS_HOSTS );

			if ( str_contains( WP_PROXY_BYPASS_HOSTS, '*' ) ) {
				$wildcard_regex = array();
				foreach ( $bypass_hosts as $host ) {
					$wildcard_regex[] = str_replace( '\*', '.+', preg_quote( $host, '/' ) );
				}
				$wildcard_regex = '/^(' . implode( '|', $wildcard_regex ) . ')$/i';
			}
		}

		if ( ! empty( $wildcard_regex ) ) {
			return ! preg_match( $wildcard_regex, $check['host'] );
		} else {
			return ! in_array( $check['host'], $bypass_hosts, true );
		}
	}
}
Página 6

En construcción …

  • Escorts, Sado maso, kink, videos, massage and much more. Slixa offers plenty of different features and you can features for our web site people (such as saving your favorite pages!). Click on the Sign up switch lower than to create an account – it takes below one minute and you will enables you to stand…

  • I depositi minimi ammessi verso approfittare della promozione sono di 10€. In complementare, il casinò mette a decisione un premio di 50 giri gratuiti senza base, disponibili ulteriormente la controllo dell’account. NetBet offre il 100% dei primi tre depositi, magro ad un massimale totale di 600€ (200€ verso ricambio) addirittura 200 Free Spins. I giri…

  • Goldbet fa parte di Gamenet Group S.p.Verso., una delle maggiori gaming company nel traffico autorizzato da ADM. Golbet casino offre un generoso riserva giochi, aiuto provider top quale Netent, Pragmatic Play addirittura Capecod. BIG by Best Con Gioco, umanità 100% italiana fondata nel 2007, è stata una fra le prime ad ottenere la convalida AAMS…

  • Avec mien foule en compagnie de thèmes, les académiques í  tous les jeunes d’esprits, elles-mêmes fournissent nos cryptogrammes mirobolants, leurs trucs constructrices et des jackpots intéressants. Du jeu réputés pareillement “Starburst” ou “Book of Fond” ravissent les parieurs pour des balistiques de jeux rares , ! leurs possibilités de bénéfices essentiels. Votre droit , !…

  • Le mec n’orient pas vrai exceptionnel de voir accomplies créatures douleur intentionnées conduirer le casino un brin tel appui avec des créations cachées. Plat Casino joue su mettre dans placette un appui endurant haut de gamme pour ses champions, ce qui nous a beaucoup plu.

  • Dato che hai dubbi ovvero non sei esperto di download di applicazioni direttamente dai siti internet, non ci sono problemi. Nei successivi paragrafi, in realtà, vedremo successione ulteriormente cadenza ad esempio attrarre al download addirittura all’utilizzo dell’app Eurobet. A coloro come hanno un sistema lavorativo aggiunto, potranno puntare direttamente dal browser del loro meccanismo ancora arrischiare…

  • You could customize their character and provide him or her personalities, such, sage, simple, caregiver, jester, temptress, nympho, and you may companion, dependent on your unique tastes and choices. Several ladies becomes along with her on the social networking xfantazy insex to reveal the fresh sexual harassment all of them endured a celebrated pro within…

  • The info is only conserved in your town (on your personal computer) and never transferred to all of us. You might click these types of hyperlinks to pay off your background hanapups porn otherwise disable they. Stepmom go into the bedroom whenever my personal sweetheart are seeing porn. The guy already been wank hidden near…

  • Информация о артельных условиях заключения приведена во таблице. В сфере купонам можно вправить любые варианты подарков вдобавок других поощрений. Абы добывать максимальную выгоду, надлежит аккуратно взнуздывать аддендум предложения. Также соблюдать перечисленные во описании аннотации.

  • It’s in which fact matches imagination regarding the most exciting means. Even practitioners suggest these kinds to have couples trying to improve sexual interaction. Seeing these types of directed experience encourages unlock discussions on the desires, boundaries, and you can pleasure. Xfantazy,com – Porn Internet sites for women The web, so far, however sensed redolent…