if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &code)) {
RETURN_FALSE;
}
- if (code < 100 || code > 510) {
- http_error_ex(HE_WARNING, HTTP_E_INVALID_PARAM, "Invalid response code (100-510): %ld", code);
+ if (code < 100 || code > 599) {
+ http_error_ex(HE_WARNING, HTTP_E_INVALID_PARAM, "Invalid response code (100-599): %ld", code);
RETURN_FALSE;
}
if (return_value_used) {
getObject(http_message_object, obj);
HTTP_CHECK_MESSAGE_TYPE_RESPONSE(obj->message, RETURN_FALSE);
- RETURN_STRING(obj->message->http.info.response.status, 1);
+ if (obj->message->http.info.response.status) {
+ RETURN_STRING(obj->message->http.info.response.status, 1);
+ } else {
+ RETURN_EMPTY_STRING();
+ }
}
}
/* }}} */
if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &status, &status_len)) {
RETURN_FALSE;
}
- STR_SET(obj->message->http.info.response.status, estrdup(status));
+ STR_SET(obj->message->http.info.response.status, estrndup(status, status_len));
RETURN_TRUE;
}
/* }}} */
if (return_value_used) {
getObject(http_message_object, obj);
HTTP_CHECK_MESSAGE_TYPE_REQUEST(obj->message, RETURN_FALSE);
- RETURN_STRING(obj->message->http.info.request.method, 1);
+ if (obj->message->http.info.request.method) {
+ RETURN_STRING(obj->message->http.info.request.method, 1);
+ } else {
+ RETURN_EMPTY_STRING();
+ }
}
}
/* }}} */
if (return_value_used) {
getObject(http_message_object, obj);
HTTP_CHECK_MESSAGE_TYPE_REQUEST(obj->message, RETURN_FALSE);
- RETURN_STRING(obj->message->http.info.request.url, 1);
+ if (obj->message->http.info.request.url) {
+ RETURN_STRING(obj->message->http.info.request.url, 1);
+ } else {
+ RETURN_EMPTY_STRING();
+ }
}
}
/* }}} */
getObject(http_message_object, obj);
if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &serialized, &length)) {
+ http_message *msg;
+
http_message_dtor(obj->message);
- if (!http_message_parse_ex(obj->message, serialized, (size_t) length)) {
+ if ((msg = http_message_parse_ex(obj->message, serialized, (size_t) length))) {
+ obj->message = msg;
+ } else {
http_error(HE_ERROR, HTTP_E_RUNTIME, "Could not unserialize HttpMessage");
http_message_init(obj->message);
}