aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/transfer.c14
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;