You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by jk...@apache.org on 2018/09/21 17:27:22 UTC
[thrift] branch master updated: THRIFT-4641: Check HTTP Status Code
in TCurlClient
This is an automated email from the ASF dual-hosted git repository.
jking pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/thrift.git
The following commit(s) were added to refs/heads/master by this push:
new ce70ba2 THRIFT-4641: Check HTTP Status Code in TCurlClient
ce70ba2 is described below
commit ce70ba20c925e2b641798d791a3e6b9b2727c89c
Author: Josip Sokcevic <js...@thumbtack.com>
AuthorDate: Thu Sep 20 11:35:22 2018 -0700
THRIFT-4641: Check HTTP Status Code in TCurlClient
---
lib/php/lib/Transport/TCurlClient.php | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/lib/php/lib/Transport/TCurlClient.php b/lib/php/lib/Transport/TCurlClient.php
index f51fa88..2ca4f65 100644
--- a/lib/php/lib/Transport/TCurlClient.php
+++ b/lib/php/lib/Transport/TCurlClient.php
@@ -220,12 +220,18 @@ class TCurlClient extends TTransport
curl_setopt(self::$curlHandle, CURLOPT_URL, $fullUrl);
$this->response_ = curl_exec(self::$curlHandle);
- // Connect failed?
- if (!$this->response_) {
+ $code = curl_getinfo(self::$curlHandle, CURLINFO_HTTP_CODE);
+
+ // Handle non 200 status code / connect failure
+ if (!$this->response_ || $code !== 200) {
curl_close(self::$curlHandle);
self::$curlHandle = null;
+ $this->response_ = null;
$error = 'TCurlClient: Could not connect to ' . $fullUrl;
- throw new TTransportException($error, TTransportException::NOT_OPEN);
+ if ($code) {
+ $error .= ', HTTP status code: ' . $code;
+ }
+ throw new TTransportException($error, TTransportException::UNKNOWN);
}
}