[MINOR] set s->srv_error according to the analysers

s->srv_error was set depending on the frontend's protocol. Now it is
set by the HTTP analyser, so that even when switching from a TCP
frontend to an HTTP backend, we can have HTTP error messages.
diff --git a/src/client.c b/src/client.c
index c489168..ec8f120 100644
--- a/src/client.c
+++ b/src/client.c
@@ -231,10 +231,8 @@
 		else
 			s->do_log = tcp_sess_log;
 
-		if (p->mode == PR_MODE_HTTP)
-			s->srv_error = http_return_srv_error;
-		else
-			s->srv_error = default_srv_error;
+		/* default error reporting function, may be changed by analysers */
+		s->srv_error = default_srv_error;
 
 		s->logs.accept_date = date; /* user-visible date for logging */
 		s->logs.tv_accept = now;  /* corrected date for internal use */
diff --git a/src/proto_http.c b/src/proto_http.c
index 0fb759a..e495d32 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -1789,6 +1789,9 @@
 		req->l,
 		req->analysers);
 
+	/* we're speaking HTTP here, so let's speak HTTP to the client */
+	s->srv_error = http_return_srv_error;
+
 	if (likely(req->lr < req->r))
 		http_msg_analyzer(req, msg, &txn->hdr_idx);