Loading lib/http.c +28 −15 Original line number Diff line number Diff line Loading @@ -617,6 +617,11 @@ CURLcode Curl_http(struct connectdata *conn) } if(conn->bits.upload_chunky) { /* RFC2616 section 4.4: Messages MUST NOT include both a Content-Length header field and a non-identity transfer-coding. If the message does include a non- identity transfer-coding, the Content-Length MUST be ignored. */ if(!checkheaders(data, "Transfer-Encoding:")) { te = "Transfer-Encoding: chunked\r\n"; } Loading Loading @@ -926,6 +931,8 @@ CURLcode Curl_http(struct connectdata *conn) generated form data */ data->set.in = (FILE *)&http->form; if(!conn->bits.upload_chunky) /* only add Content-Length if not uploading chunked */ add_bufferf(req_buffer, "Content-Length: %d\r\n", http->postsize); Loading Loading @@ -985,13 +992,13 @@ CURLcode Curl_http(struct connectdata *conn) case HTTPREQ_PUT: /* Let's PUT the data to the server! */ if(data->set.infilesize>0) { if((data->set.infilesize>0) && !conn->bits.upload_chunky) /* only add Content-Length if not uploading chunked */ add_bufferf(req_buffer, "Content-Length: %d\r\n\r\n", /* file size */ "Content-Length: %d\r\n", /* file size */ data->set.infilesize ); } else add_bufferf(req_buffer, "\015\012"); add_bufferf(req_buffer, "\r\n"); /* set the upload size to the progress meter */ Curl_pgrsSetUploadSize(data, data->set.infilesize); Loading @@ -1014,6 +1021,11 @@ CURLcode Curl_http(struct connectdata *conn) case HTTPREQ_POST: /* this is the simple POST, using x-www-form-urlencoded style */ if(!conn->bits.upload_chunky) { /* We only set Content-Length and allow a custom Content-Length if we don't upload data chunked, as RFC2616 forbids us to set both kinds of headers (Transfer-Encoding: chunked and Content-Length) */ if(!checkheaders(data, "Content-Length:")) /* we allow replacing this header, although it isn't very wise to actually set your own */ Loading @@ -1022,6 +1034,7 @@ CURLcode Curl_http(struct connectdata *conn) data->set.postfieldsize? data->set.postfieldsize: (data->set.postfields?strlen(data->set.postfields):0) ); } if(!checkheaders(data, "Content-Type:")) add_bufferf(req_buffer, Loading Loading
lib/http.c +28 −15 Original line number Diff line number Diff line Loading @@ -617,6 +617,11 @@ CURLcode Curl_http(struct connectdata *conn) } if(conn->bits.upload_chunky) { /* RFC2616 section 4.4: Messages MUST NOT include both a Content-Length header field and a non-identity transfer-coding. If the message does include a non- identity transfer-coding, the Content-Length MUST be ignored. */ if(!checkheaders(data, "Transfer-Encoding:")) { te = "Transfer-Encoding: chunked\r\n"; } Loading Loading @@ -926,6 +931,8 @@ CURLcode Curl_http(struct connectdata *conn) generated form data */ data->set.in = (FILE *)&http->form; if(!conn->bits.upload_chunky) /* only add Content-Length if not uploading chunked */ add_bufferf(req_buffer, "Content-Length: %d\r\n", http->postsize); Loading Loading @@ -985,13 +992,13 @@ CURLcode Curl_http(struct connectdata *conn) case HTTPREQ_PUT: /* Let's PUT the data to the server! */ if(data->set.infilesize>0) { if((data->set.infilesize>0) && !conn->bits.upload_chunky) /* only add Content-Length if not uploading chunked */ add_bufferf(req_buffer, "Content-Length: %d\r\n\r\n", /* file size */ "Content-Length: %d\r\n", /* file size */ data->set.infilesize ); } else add_bufferf(req_buffer, "\015\012"); add_bufferf(req_buffer, "\r\n"); /* set the upload size to the progress meter */ Curl_pgrsSetUploadSize(data, data->set.infilesize); Loading @@ -1014,6 +1021,11 @@ CURLcode Curl_http(struct connectdata *conn) case HTTPREQ_POST: /* this is the simple POST, using x-www-form-urlencoded style */ if(!conn->bits.upload_chunky) { /* We only set Content-Length and allow a custom Content-Length if we don't upload data chunked, as RFC2616 forbids us to set both kinds of headers (Transfer-Encoding: chunked and Content-Length) */ if(!checkheaders(data, "Content-Length:")) /* we allow replacing this header, although it isn't very wise to actually set your own */ Loading @@ -1022,6 +1034,7 @@ CURLcode Curl_http(struct connectdata *conn) data->set.postfieldsize? data->set.postfieldsize: (data->set.postfields?strlen(data->set.postfields):0) ); } if(!checkheaders(data, "Content-Type:")) add_bufferf(req_buffer, Loading