Skip to content

Commit 608e8b2

Browse files
committed
Backport fixes from master branch
1 parent 6bc1f44 commit 608e8b2

File tree

2 files changed

+15
-16
lines changed

2 files changed

+15
-16
lines changed

Diff for: lib/WebDriver/AbstractWebDriver.php

+8-10
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,12 @@ protected function curl($requestMethod, $command, $parameters = null, $extraOpti
157157
}
158158

159159
$value = (is_array($result) && array_key_exists('value', $result)) ? $result['value'] : null;
160-
$message = (is_array($value) && array_key_exists('message', $value)) ? $value['message'] : null;
160+
$message = (is_array($result) && array_key_exists('message', $result))
161+
? $result['message']
162+
: ((is_array($value) && array_key_exists('message', $value)) ? $value['message'] : null);
163+
$error = (is_array($result) && array_key_exists('error', $result))
164+
? $result['error']
165+
: ((is_array($value) && array_key_exists('error', $value)) ? $value['error'] : null);
161166

162167
// if not success, throw exception
163168
if (isset($result['status']) && (int) $result['status'] !== 0) {
@@ -167,16 +172,9 @@ protected function curl($requestMethod, $command, $parameters = null, $extraOpti
167172
);
168173
}
169174

170-
if (isset($value['error'])) {
175+
if (isset($error)) {
171176
throw WebDriverException::factory(
172-
$value['error'],
173-
$message
174-
);
175-
}
176-
177-
if (isset($value['ready']) && $value['ready'] !== true) {
178-
throw WebDriverException::factory(
179-
WebDriverException::CURL_EXEC,
177+
$error,
180178
$message
181179
);
182180
}

Diff for: lib/WebDriver/Service/CurlService.php

+7-6
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
namespace WebDriver\Service;
2525

26-
use WebDriver\Exception as WebDriverException;
26+
use WebDriver\Exception\CurlExec as CurlExecException;
2727

2828
/**
2929
* WebDriver\Service\CurlService class
@@ -110,19 +110,20 @@ public function execute($requestMethod, $url, $parameters = null, $extraOptions
110110
) {
111111
curl_close($curl);
112112

113-
throw WebDriverException::factory(
114-
WebDriverException::CURL_EXEC,
113+
$e = new CurlExecException(
115114
sprintf(
116115
"Curl error thrown for http %s to %s%s\n\n%s",
117116
$requestMethod,
118117
$url,
119118
$parameters && is_array($parameters) ? ' with params: ' . json_encode($parameters) : '',
120119
$error
121120
),
122-
$errno,
123-
null,
124-
$info
121+
$errno
125122
);
123+
124+
$e->setCurlInfo($info);
125+
126+
throw $e;
126127
}
127128

128129
curl_close($curl);

0 commit comments

Comments
 (0)