summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2001-08-28 08:54:09 +0000
committerDaniel Stenberg <daniel@haxx.se>2001-08-28 08:54:09 +0000
commit98356298018447c2e013400d03e9fd42b37b8259 (patch)
tree553e5741f637ee9c17d3e5cd9c755bc11ced19a6
parent3c52c53dddd3193d20bcb6fb335b1813eb1c07dd (diff)
downloadgnurl-98356298018447c2e013400d03e9fd42b37b8259.tar.gz
gnurl-98356298018447c2e013400d03e9fd42b37b8259.tar.bz2
gnurl-98356298018447c2e013400d03e9fd42b37b8259.zip
Georg Huettenegger added code to deal with error 417 when doing form posts.
NOTE: we might do this for *ALL* errors when doing form posts.
-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;