X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_request_object.c;h=37e2a58bd75c031f3b8a11828ca75ecf647b2eac;hp=cbb8b2be93b0810b521c174a54b9c597021b8898;hb=100b5ff381fe93e7ac4d7b0ea68f9b7256615e68;hpb=2334ad58dd0d288f1ef49ab3d449376763df4fba diff --git a/http_request_object.c b/http_request_object.c index cbb8b2b..37e2a58 100644 --- a/http_request_object.c +++ b/http_request_object.c @@ -424,10 +424,7 @@ STATUS _http_request_object_requesthandler(http_request_object *obj, zval *this_ if (!body) { return FAILURE; } - if ((!obj->ch) && (!(obj->ch = curl_easy_init()))) { - http_error(HE_WARNING, HTTP_E_REQUEST, "Could not initilaize curl"); - return FAILURE; - } + HTTP_CHECK_CURL_INIT(obj->ch, curl_easy_init(), return FAILURE); URL = convert_to_type_ex(IS_STRING, GET_PROP(obj, url)); // HTTP_URI_MAXLEN+1 long char * @@ -504,13 +501,13 @@ STATUS _http_request_object_requesthandler(http_request_object *obj, zval *this_ if (status == SUCCESS) { zval *qdata = convert_to_type_ex(IS_STRING, GET_PROP(obj, queryData)); - if (Z_STRLEN_P(qdata) && (strlen(request_uri) < HTTP_URI_MAXLEN)) { + if (Z_STRLEN_P(qdata)) { if (!strchr(request_uri, '?')) { - strcat(request_uri, "?"); + strlcat(request_uri, "?", HTTP_URI_MAXLEN); } else { - strcat(request_uri, "&"); + strlcat(request_uri, "&", HTTP_URI_MAXLEN); } - strncat(request_uri, Z_STRVAL_P(qdata), HTTP_URI_MAXLEN - strlen(request_uri)); + strlcat(request_uri, Z_STRVAL_P(qdata), HTTP_URI_MAXLEN); } status = http_request_init(obj->ch, Z_LVAL_P(meth), request_uri, body, Z_ARRVAL_P(GET_PROP(obj, options))); @@ -1033,11 +1030,7 @@ PHP_METHOD(HttpRequest, setContentType) RETURN_FALSE; } - if (!strchr(ctype, '/')) { - http_error_ex(HE_WARNING, HTTP_E_INVALID_PARAM, "Content-Type '%s' doesn't seem to contain a primary and a secondary part", ctype); - RETURN_FALSE; - } - + HTTP_CHECK_CONTENT_TYPE(ctype, RETURN_FALSE); UPD_STRL(obj, contentType, ctype, ct_len); RETURN_TRUE; } @@ -1341,10 +1334,7 @@ PHP_METHOD(HttpRequest, addPostFile) } if (type_len) { - if (!strchr(type, '/')) { - http_error_ex(HE_WARNING, HTTP_E_INVALID_PARAM, "Content-Type '%s' doesn't seem to contain a primary and a secondary part", type); - RETURN_FALSE; - } + HTTP_CHECK_CONTENT_TYPE(type, RETURN_FALSE); } else { type = "application/x-octetstream"; type_len = sizeof("application/x-octetstream") - 1;