diff options
-rw-r--r-- | lib/transfer.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/transfer.c b/lib/transfer.c index ab0af9f42..1609529a5 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -431,9 +431,21 @@ Transfer(struct connectdata *c_conn) wkeepfd = writefd; } } - else + else header = FALSE; /* no more header to parse! */ + if (417 == httpcode) { + /* + * we got: "417 Expectation Failed" this means: + * we have made a HTTP call and our Expect Header + * seems to cause a problem => abort the write operations + * (or prevent them from starting + */ + write_after_100_header = FALSE; + keepon &= ~KEEP_WRITE; + FD_ZERO(&wkeepfd); + } + /* now, only output this if the header AND body are requested: */ writetype = CLIENTWRITE_HEADER; |