X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_methods.c;h=b65fbda237164c609a943a43d92df71bc9afc048;hp=69006044145416fd949269b0343e2598cedac426;hb=9d0eaae0af2de89a57be321c507e5a9956ba99f9;hpb=a83c92bb0a8620394c3f164bafbfbc79d3a71a64 diff --git a/http_methods.c b/http_methods.c index 6900604..b65fbda 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; } @@ -782,6 +782,10 @@ 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; @@ -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; } @@ -867,22 +871,22 @@ PHP_METHOD(HttpMessage, getHttpVersion) */ 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); } /* }}} */