|
@@ -448,15 +448,20 @@ class Client
|
|
|
$url .= $q;
|
|
$url .= $q;
|
|
|
$url .= is_string($query) ? $query : http_build_query($query);
|
|
$url .= is_string($query) ? $query : http_build_query($query);
|
|
|
}
|
|
}
|
|
|
- if (preg_match('#^https?://#', $url)) {
|
|
|
|
|
- return $url;
|
|
|
|
|
- }
|
|
|
|
|
$defaults = [
|
|
$defaults = [
|
|
|
'host' => null,
|
|
'host' => null,
|
|
|
'port' => null,
|
|
'port' => null,
|
|
|
'scheme' => 'http',
|
|
'scheme' => 'http',
|
|
|
];
|
|
];
|
|
|
$options += $defaults;
|
|
$options += $defaults;
|
|
|
|
|
+
|
|
|
|
|
+ if (preg_match('#^//#', $url)) {
|
|
|
|
|
+ $url = $options['scheme'] . ':' . $url;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (preg_match('#^https?://#', $url)) {
|
|
|
|
|
+ return $url;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
$defaultPorts = [
|
|
$defaultPorts = [
|
|
|
'http' => 80,
|
|
'http' => 80,
|
|
|
'https' => 443
|
|
'https' => 443
|