/** | |
* Port utilities for Requests | |
* | |
* @package Requests\Utilities | |
* @since 2.0.0 | |
*/ | |
namespace WpOrg\Requests; | |
use WpOrg\Requests\Exception; | |
use WpOrg\Requests\Exception\InvalidArgument; | |
/** | |
* Find the correct port depending on the Request type. | |
* | |
* @package Requests\Utilities | |
* @since 2.0.0 | |
*/ | |
final class Port { | |
/** | |
* Port to use with Acap requests. | |
* | |
* @var int | |
*/ | |
const ACAP = 674; | |
/** | |
* Port to use with Dictionary requests. | |
* | |
* @var int | |
*/ | |
const DICT = 2628; | |
/** | |
* Port to use with HTTP requests. | |
* | |
* @var int | |
*/ | |
const HTTP = 80; | |
/** | |
* Port to use with HTTP over SSL requests. | |
* | |
* @var int | |
*/ | |
const HTTPS = 443; | |
/** | |
* Retrieve the port number to use. | |
* | |
* @param string $type Request type. | |
* The following requests types are supported: | |
* 'acap', 'dict', 'http' and 'https'. | |
* | |
* @return int | |
* | |
* @throws \WpOrg\Requests\Exception\InvalidArgument When a non-string input has been passed. | |
* @throws \WpOrg\Requests\Exception When a non-supported port is requested ('portnotsupported'). | |
*/ | |
public static function get($type) { | |
if (!is_string($type)) { | |
throw InvalidArgument::create(1, '$type', 'string', gettype($type)); | |
} | |
$type = strtoupper($type); | |
if (!defined("self::{$type}")) { | |
$message = sprintf('Invalid port type (%s) passed', $type); | |
throw new Exception($message, 'portnotsupported'); | |
} | |
return constant("self::{$type}"); | |
} | |
} | |