| /** | |
| * 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}"); | |
| } | |
| } | |