switch (type) {
case CURLINFO_TEXT:
if (data[0] == '-') {
+ goto text;
} else if (php_memnstr(data, ZEND_STRL("Adding handle:"), data + length)) {
h->progress.info = "setup";
} else if (php_memnstr(data, ZEND_STRL("addHandle"), data + length)) {
h->progress.info = "connected";
} else if (php_memnstr(data, ZEND_STRL("blacklisted"), data + length)) {
h->progress.info = "blacklist check";
+ } else if (php_memnstr(data, ZEND_STRL("TLS"), data + length)) {
+ h->progress.info = "ssl negotiation";
} else if (php_memnstr(data, ZEND_STRL("SSL"), data + length)) {
h->progress.info = "ssl negotiation";
+ } else if (php_memnstr(data, ZEND_STRL("certificate"), data + length)) {
+ h->progress.info = "ssl negotiation";
+ } else if (php_memnstr(data, ZEND_STRL("ALPN"), data + length)) {
+ h->progress.info = "alpn";
+ } else if (php_memnstr(data, ZEND_STRL("NPN"), data + length)) {
+ h->progress.info = "npn";
} else if (php_memnstr(data, ZEND_STRL("upload"), data + length)) {
h->progress.info = "uploaded";
} else if (php_memnstr(data, ZEND_STRL("left intact"), data + length)) {
} else if (php_memnstr(data, ZEND_STRL("Operation timed out"), data + length)) {
h->progress.info = "timeout";
} else {
+ text:;
#if 0
h->progress.info = data;
data[length - 1] = '\0';
zend_hash_str_update(info, "http_version", lenof("http_version"), &tmp);
}
#endif
+#if PHP_HTTP_CURL_VERSION(7,52,0)
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_PROXY_SSL_VERIFYRESULT, &l)) {
+ ZVAL_LONG(&tmp, l);
+ zend_hash_str_update(info, "proxy_ssl_verifyresult", lenof("proxy_ssl_verifyresult"), &tmp);
+ }
+#endif
+#if PHP_HTTP_CURL_VERSION(7,52,0)
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_PROTOCOL, &l)) {
+ ZVAL_LONG(&tmp, l);
+ zend_hash_str_update(info, "protocol", lenof("protocol"), &tmp);
+ }
+#endif
+#if PHP_HTTP_CURL_VERSION(7,52,0)
+ if (CURLE_OK == curl_easy_getinfo(ch, CURLINFO_SCHEME, &c)) {
+ ZVAL_STRING(&tmp, STR_PTR(c));
+ zend_hash_str_update(info, "scheme", lenof("scheme"), &tmp);
+ }
+#endif
/* END::CURLINFO */