options = $options; } /** * Get an option from the HTTP transport. * * @param string $key The name of the option to get. * @param mixed $default The default value if the option is not set. * * @return mixed The option value. * * @since 2.0.0 */ protected function getOption(string $key, $default = null) { return $this->options[$key] ?? $default; } /** * Processes the headers from a transport's response data. * * @param array $headers The headers to process. * * @return array * * @since 2.0.0 */ protected function processHeaders(array $headers): array { $verifiedHeaders = []; // Add the response headers to the response object. foreach ($headers as $header) { $pos = strpos($header, ':'); $keyName = trim(substr($header, 0, $pos)); if (!isset($verifiedHeaders[$keyName])) { $verifiedHeaders[$keyName] = []; } $verifiedHeaders[$keyName][] = trim(substr($header, ($pos + 1))); } return $verifiedHeaders; } }