I often get curl: (55) Send failure error message when uploading from named pipe #360

Closed
Konstantinusz opened this Issue Jul 30, 2015 · 1 comment

Projects

None yet

2 participants

@Konstantinusz

I usually want upload form named pipe, when transloading files from one filehost to another and I have only few disk space on my VPS to download files fully at first and then upload them.
However I often get "curl: (55) Send failure / broken pipe" error message when uploading from named pipe.
The pipe is fed by ffmpeg, but I got same experiences when the pipe is fed by bsdtar. I upload to depositfiles.com .
Error message always appears at position when 40 MB of data has been uploaded. I also tried to pass a http header field - H "Transfer-Encoding: Chunked" and ordinary pipe instead of named one but no success, I experienced a broken pipe error always at ~40 MB of data.

On the producer side of the pipe:

mkfifo video.mkv
ffmpeg -i http://example.com/file.mkv -map_chapters -1 video.mkv

On the consumer side:

curl -b cookie-file   -F "files=@video.mkv;filename=video.mkv" -F 'format=html5'  -F "member_passkey=XXXXXXXdv8yfw2w" -F 'fm=_root' -F 'fmh='  "http://fileshare1301.dfiles.eu/upload/FS130-5u/"

What can I do to avoid such annoyances, and make the pipe / uploading intact?

@bagder bagder self-assigned this Aug 1, 2015
@bagder
Member
bagder commented Aug 1, 2015

curl's formpost logic doesn't support reading from a pipe but must be able to get the size before the transfer starts, afair. I could very well be fixed to support "Transfer-Encoding: Chunked" (if the server isn't HTTP1.0) but it isn't right now. Patches very welcome. Right now, this issue should be fixed by properly documenting this limitation.

@bagder bagder added the HTTP label Aug 1, 2015
@bagder bagder closed this in c092b0f Aug 1, 2015
@jgsogo jgsogo added a commit to jgsogo/curl that referenced this issue Oct 19, 2015
@bagder @jgsogo bagder + jgsogo docs: formpost needs the full size at start of upload
Closes #360
507a9ce
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment