+ /* catch progress */
+ switch (type) {
+ case CURLINFO_TEXT:
+ if (php_memnstr(data, ZEND_STRL("About to connect"), data + length)) {
+ curl->progress.state.info = "resolve";
+ } else if (php_memnstr(data, ZEND_STRL("Trying"), data + length)) {
+ curl->progress.state.info = "connect";
+ } else if (php_memnstr(data, ZEND_STRL("Connected"), data + length)) {
+ curl->progress.state.info = "connected";
+ } else if (php_memnstr(data, ZEND_STRL("left intact"), data + length)) {
+ curl->progress.state.info = "not disconnected";
+ } else if (php_memnstr(data, ZEND_STRL("closed"), data + length)) {
+ curl->progress.state.info = "disconnected";
+ }
+ php_http_request_progress_notify(&curl->progress TSRMLS_CC);
+ break;
+ case CURLINFO_HEADER_OUT:
+ case CURLINFO_DATA_OUT:
+ case CURLINFO_SSL_DATA_OUT:
+ curl->progress.state.info = "send";
+ break;
+ case CURLINFO_HEADER_IN:
+ case CURLINFO_DATA_IN:
+ case CURLINFO_SSL_DATA_IN:
+ curl->progress.state.info = "receive";
+ break;
+ default:
+ break;
+ }