X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_methods.c;h=49c57a4f6f438f275ad668f3afbf3956a22e9f31;hp=69006044145416fd949269b0343e2598cedac426;hb=30e2b03a47f16cf8dcfb900314db792ac88fa17e;hpb=a83c92bb0a8620394c3f164bafbfbc79d3a71a64 diff --git a/http_methods.c b/http_methods.c index 6900604..49c57a4 100644 --- a/http_methods.c +++ b/http_methods.c @@ -323,7 +323,7 @@ PHP_METHOD(HttpResponse, setData) convert_to_string_ex(&the_data); SET_PROP(obj, data, the_data); - UPD_PROP(obj, long, lastModified, http_lmod(the_data, SEND_DATA)); + UPD_PROP(obj, long, lastModified, http_last_modified(the_data, SEND_DATA)); UPD_PROP(obj, long, send_mode, SEND_DATA); RETURN_TRUE; } @@ -362,7 +362,7 @@ PHP_METHOD(HttpResponse, setStream) php_stream_from_zval(the_real_stream, &the_stream); SET_PROP(obj, stream, the_stream); - UPD_PROP(obj, long, lastModified, http_lmod(the_real_stream, SEND_RSRC)); + UPD_PROP(obj, long, lastModified, http_last_modified(the_real_stream, SEND_RSRC)); UPD_PROP(obj, long, send_mode, SEND_RSRC); RETURN_TRUE; } @@ -400,7 +400,7 @@ PHP_METHOD(HttpResponse, setFile) convert_to_string_ex(&the_file); UPD_PROP(obj, string, file, Z_STRVAL_P(the_file)); - UPD_PROP(obj, long, lastModified, http_lmod(the_file, -1)); + UPD_PROP(obj, long, lastModified, http_last_modified(the_file, -1)); UPD_PROP(obj, long, send_mode, -1); RETURN_TRUE; } @@ -523,7 +523,7 @@ PHP_METHOD(HttpResponse, send) /* {{{ HttpMessage */ -/* {{{ static HttpMessage HttpMessage::fromString(string raw_message) +/* {{{ proto static HttpMessage HttpMessage::fromString(string raw_message) * * Create an HttpMessage object from a string. */ @@ -546,7 +546,7 @@ PHP_METHOD(HttpMessage, fromString) } /* }}} */ -/* {{{ void HttpMessage::__construct([string raw_message]) +/* {{{ proto void HttpMessage::__construct([string raw_message]) * * Instantiate a new HttpMessage object based on the optionally provided * raw message. An HTTP Message can be either a response or a request. @@ -567,7 +567,7 @@ PHP_METHOD(HttpMessage, __construct) } /* }}} */ -/* {{{ void HttpMessage::setRaw(string raw_message) +/* {{{ proto void HttpMessage::setRaw(string raw_message) * * Parse a new raw message. */ @@ -585,7 +585,7 @@ PHP_METHOD(HttpMessage, setRaw) } /* }}} */ -/* {{{ string HttpMessage::getBody() +/* {{{ proto string HttpMessage::getBody() * * Get the body of the parsed Message. */ @@ -601,7 +601,7 @@ PHP_METHOD(HttpMessage, getBody) } /* }}} */ -/* {{{ array HttpMessage::getHeaders() +/* {{{ proto array HttpMessage::getHeaders() * * Get Message Headers. */ @@ -618,7 +618,7 @@ PHP_METHOD(HttpMessage, getHeaders) } /* }}} */ -/* {{{ void HttpMessage::setHeaders(array headers) +/* {{{ proto void HttpMessage::setHeaders(array headers) * * Sets new headers. */ @@ -635,7 +635,7 @@ PHP_METHOD(HttpMessage, setHeaders) } /* }}} */ -/* {{{ void HttpMessage::addHeaders(array headers[, bool append = false]) +/* {{{ proto void HttpMessage::addHeaders(array headers[, bool append = false]) * * Add headers. If append is true, headers with the same name will be separated, else overwritten. */ @@ -659,7 +659,7 @@ PHP_METHOD(HttpMessage, addHeaders) } /* }}} */ -/* {{{ long HttpMessage::getType() +/* {{{ proto long HttpMessage::getType() * * Get Message Type. (HTTP_MSG_NONE|HTTP_MSG_REQUEST|HTTP_MSG_RESPONSE) */ @@ -675,7 +675,7 @@ PHP_METHOD(HttpMessage, getType) } /* }}} */ -/* {{{ void HttpMessage::setType(long type) +/* {{{ proto void HttpMessage::setType(long type) * * Set Message Type. (HTTP_MSG_NONE|HTTP_MSG_REQUEST|HTTP_MSG_RESPONSE) */ @@ -691,7 +691,7 @@ PHP_METHOD(HttpMessage, setType) } /* }}} */ -/* {{{ long HttpMessage::getResponseCode() +/* {{{ proto long HttpMessage::getResponseCode() * * Get the Response Code of the Message. */ @@ -712,7 +712,7 @@ PHP_METHOD(HttpMessage, getResponseCode) } /* }}} */ -/* {{{ bool HttpMessage::setResponseCode(long code) +/* {{{ proto bool HttpMessage::setResponseCode(long code) * * Set the response code of an HTTP Response Message. * Returns false if the Message is not of type HTTP_MSG_RESPONSE, @@ -741,7 +741,7 @@ PHP_METHOD(HttpMessage, setResponseCode) } /* }}} */ -/* {{{ string HttpMessage::getRequestMethod() +/* {{{ proto string HttpMessage::getRequestMethod() * * Get the Request Method of the Message. * Returns false if the Message is not of type HTTP_MSG_REQUEST. @@ -763,7 +763,7 @@ PHP_METHOD(HttpMessage, getRequestMethod) } /* }}} */ -/* {{{ bool HttpMessage::setRequestMethod(string method) +/* {{{ proto bool HttpMessage::setRequestMethod(string method) * * Set the Request Method of the HTTP Message. * Returns false if the Message is not of type HTTP_MSG_REQUEST. @@ -782,13 +782,17 @@ PHP_METHOD(HttpMessage, setRequestMethod) if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &method, &method_len)) { RETURN_FALSE; } + if (method_len < 1) { + http_error(E_WARNING, HTTP_E_PARAM, "Cannot set HttpMessage::requestMethod to an empty string"); + RETURN_FALSE; + } UPD_PROP(obj, string, requestMethod, method); RETURN_TRUE; } /* }}} */ -/* {{{ string HttpMessage::getRequestUri() +/* {{{ proto string HttpMessage::getRequestUri() * * Get the Request URI of the Message. */ @@ -808,7 +812,7 @@ PHP_METHOD(HttpMessage, getRequestUri) } /* }}} */ -/* {{{ bool HttpMessage::setRequestUri(string URI) +/* {{{ proto bool HttpMessage::setRequestUri(string URI) * * Set the Request URI of the HTTP Message. * Returns false if the Message is not of type HTTP_MSG_REQUEST, @@ -828,7 +832,7 @@ PHP_METHOD(HttpMessage, setRequestUri) RETURN_FALSE; } if (URIlen < 1) { - http_error(E_WARNING, HTTP_E_PARAM, "Cannot set HttpMessage::requestMethod to an empty string"); + http_error(E_WARNING, HTTP_E_PARAM, "Cannot set HttpMessage::requestUri to an empty string"); RETURN_FALSE; } @@ -837,7 +841,7 @@ PHP_METHOD(HttpMessage, setRequestUri) } /* }}} */ -/* {{{ string HttpMessage::getHttpVersion() +/* {{{ proto string HttpMessage::getHttpVersion() * * Get the HTTP Protocol Version of the Message. */ @@ -860,33 +864,33 @@ PHP_METHOD(HttpMessage, getHttpVersion) } /* }}} */ -/* {{{ bool HttpMessage::setHttpVersion(string version) +/* {{{ proto bool HttpMessage::setHttpVersion(string version) * * Set the HTTP Protocol version of the Message. * Returns false if version is invalid (1.0 and 1.1). */ PHP_METHOD(HttpMessage, setHttpVersion) { - zval *v; - zval *version; + char v[4]; + zval *zv, *version; getObject(http_message_object, obj); - if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &v)) { + if (SUCCESS != zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &zv)) { return; } - convert_to_string_ex(&v); - if (strcmp(Z_STRVAL_P(v), "1.0") && strcmp(Z_STRVAL_P(v), "1.1")) { - http_error_ex(E_WARNING, HTTP_E_PARAM, "Invalid HTTP version (1.0 or 1.1): %s", Z_STRVAL_P(v)); + convert_to_double_ex(&zv); + sprintf(v, "%1.1f", Z_DVAL_P(zv)); + if (strcmp(v, "1.0") && strcmp(v, "1.1")) { + http_error_ex(E_WARNING, HTTP_E_PARAM, "Invalid HTTP version (1.0 or 1.1): %s", v); RETURN_FALSE; } - convert_to_double_ex(&v); - SET_PROP(obj, httpVersion, v); + SET_PROP(obj, httpVersion, zv); } /* }}} */ -/* {{{ string HttpMessage::toString() +/* {{{ proto string HttpMessage::toString() * * Get the string representation of the Message. */