diff options
Diffstat (limited to 'wp-includes/Requests/src/Port.php')
-rw-r--r-- | wp-includes/Requests/src/Port.php | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/wp-includes/Requests/src/Port.php b/wp-includes/Requests/src/Port.php new file mode 100644 index 0000000..5545409 --- /dev/null +++ b/wp-includes/Requests/src/Port.php @@ -0,0 +1,75 @@ +<?php +/** + * 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}"); + } +} |