- switch (Z_LVAL_P(meth))
- {
- case HTTP_GET:
- case HTTP_HEAD:
- status = http_request_ex(obj->ch, Z_LVAL_P(meth), request_uri, NULL, Z_ARRVAL_P(opts), Z_ARRVAL_P(info), &obj->response);
- break;
-
- case HTTP_PUT:
- {
- http_request_body body;
- php_stream *stream;
- php_stream_statbuf ssb;
- zval *file = GET_PROP(obj, putFile);
-
- if ( (stream = php_stream_open_wrapper(Z_STRVAL_P(file), "rb", REPORT_ERRORS|ENFORCE_SAFE_MODE, NULL)) &&
- !php_stream_stat(stream, &ssb)) {
- body.type = HTTP_REQUEST_BODY_UPLOADFILE;
- body.data = stream;
- body.size = ssb.sb.st_size;
-
- status = http_put_ex(obj->ch, request_uri, &body, Z_ARRVAL_P(opts), Z_ARRVAL_P(info), &obj->response);
- http_request_body_dtor(&body);
- } else {
- status = FAILURE;
- }
- }
- break;