[BUG] http: ensure we abort data transfer on write error

When a write error is encountered during a data phase, we must
absolutely abort the pending data transfer, otherwise it will
never complete.
diff --git a/src/proto_http.c b/src/proto_http.c
index fd26673..33a45e8 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -3244,6 +3244,11 @@
 	struct http_txn *txn = &s->txn;
 	struct http_msg *msg = &s->txn.req;
 
+	if (req->flags & (BF_SHUTW|BF_WRITE_ERROR|BF_WRITE_TIMEOUT)) {
+		req->analysers &= ~an_bit;
+		return 1;
+	}
+
 	if (unlikely(msg->msg_state < HTTP_MSG_BODY))
 		return 0;
 
@@ -4347,6 +4352,11 @@
 	struct http_txn *txn = &s->txn;
 	struct http_msg *msg = &s->txn.rsp;
 
+	if (res->flags & (BF_SHUTW|BF_WRITE_ERROR|BF_WRITE_TIMEOUT)) {
+		res->analysers &= ~an_bit;
+		return 1;
+	}
+
 	if (unlikely(msg->msg_state < HTTP_MSG_BODY))
 		return 0;