]> granicus.if.org Git - curl/commitdiff
docs: clarify form/mime usage of non-regular data files.
authorPatrick Monnerat <patrick@monnerat.net>
Sun, 8 Oct 2017 15:15:23 +0000 (16:15 +0100)
committerPatrick Monnerat <patrick@monnerat.net>
Sun, 8 Oct 2017 15:15:23 +0000 (16:15 +0100)
docs/cmdline-opts/form.d
docs/libcurl/curl_formadd.3
docs/libcurl/curl_mime_filedata.3

index 232d30c075ef72e706cc29ba151dd99dcbe32581..4cc5f5a390c364b754138918dd58fc51df96792b 100644 (file)
@@ -25,9 +25,9 @@ the form-field to which portrait.jpg will be the input:
  curl -F profile=@portrait.jpg https://example.com/upload.cgi
 
 To read content from stdin instead of a file, use - as the filename. This goes
-for both @ and < constructs. Unfortunately it does not support reading the
-file from a named pipe or similar, as it needs the full size before the
-transfer starts.
+for both @ and < constructs. For this case, as well as for others in which the
+full data size cannot be determined before the transfer starts (as named pipes
+or similar), data is transferred as chunks by HTTP and rejected by IMAP.
 
 You can also tell curl what Content-Type to use by using 'type=', in a manner
 similar to:
index 39a749b7c07982b43c6f206339cc20536f95f798..de202aa47911abf808b34313126130468a2136ff 100644 (file)
@@ -172,7 +172,10 @@ you've called \fIcurl_easy_cleanup(3)\fP for the curl handle.
 See example below.
 .SH AVAILABILITY
 Deprecated in 7.56.0. Before this release, field names were allowed to
-contain zero-valued bytes.
+contain zero-valued bytes. The pseudo-filename "-" to read stdin is
+discouraged although still supported, but data is not read before being
+actually sent: the effective data size can then not be automatically
+determined, resulting in a chunked encoding transfer.
 .SH RETURN VALUE
 0 means everything was ok, non-zero means an error occurred corresponding
 to a CURL_FORMADD_* constant defined in
index 9a57068de230d557dbcb54658f55e4a29cce08de..f522d997f64f93e19065bb9591d8551ad0a346a3 100644 (file)
@@ -36,7 +36,7 @@ data to a mime part.
 \fIpart\fP is the part's to assign contents to.
 
 \fIfilename\fP points to the nul-terminated file's path name. The pointer can
-be NULL to detach previous part contents settings.  Filename storage can be
+be NULL to detach the previous part contents settings.  Filename storage can be
 safely be reused after this call.
 
 As a side effect, the part's remote file name is set to the base name of the
@@ -47,6 +47,10 @@ The contents of the file is read during the file transfer in a streaming
 manner to allow huge files to get transfered without using much memory. It
 therefore requires that the file is kept intact during the entire request.
 
+If the file size cannot be determined before actually reading it (such as for
+a device or named pipe), the whole mime structure containing the part
+will be transferred as chunks by HTTP and rejected by IMAP.
+
 Setting a part's contents twice is valid: only the value set by the last call
 is retained.
 .SH AVAILABILITY