}
UPD_PROP(long, responseCode, msg->http.info.response.code);
- UPD_PROP(string, responseStatus, msg->http.info.response.status);
+ UPD_PROP(string, responseStatus, msg->http.info.response.status ? msg->http.info.response.status : "");
MAKE_STD_ZVAL(resp);
array_init(resp);
ret = FAILURE;
}
- if (zend_hash_exists(&Z_OBJCE_P(getThis())->function_table, "onfinish", sizeof("onfinish"))) {
+ if (!EG(exception) && zend_hash_exists(&Z_OBJCE_P(getThis())->function_table, "onfinish", sizeof("onfinish"))) {
zval *param;
MAKE_STD_ZVAL(param);
ZVAL_BOOL(param, ret == SUCCESS);
- zend_call_method_with_1_params(&getThis(), Z_OBJCE_P(getThis()), NULL, "onfinish", NULL, param);
+ with_error_handling(EH_NORMAL, NULL) {
+ zend_call_method_with_1_params(&getThis(), Z_OBJCE_P(getThis()), NULL, "onfinish", NULL, param);
+ } end_error_handling();
zval_ptr_dtor(¶m);
}