]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: mux-h1: Improve H1 traces by adding info about http parsers
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 26 Nov 2021 16:31:35 +0000 (17:31 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 1 Dec 2021 10:47:08 +0000 (11:47 +0100)
Info about the request and the response parsers are now displayed in H1
traces for advanced and complete verbosity only. This should help debugging.

This patch may be backported as far as 2.4.

src/mux_h1.c

index 6cb7ec83bccbc6f46c6279dae8aa94e31daad9fb..3d5a24f1655eabe70e7dcd7d76b0a0bbd2621382 100644 (file)
@@ -299,10 +299,19 @@ static void h1_trace(enum trace_level level, uint64_t mask, const struct trace_s
        chunk_appendf(&trace_buf, " : [%c]", ((h1c->flags & H1C_F_IS_BACK) ? 'B' : 'F'));
 
        /* Display request and response states if h1s is defined */
-       if (h1s)
+       if (h1s) {
                chunk_appendf(&trace_buf, " [%s, %s]",
                              h1m_state_str(h1s->req.state), h1m_state_str(h1s->res.state));
 
+               if (src->verbosity > H1_VERB_SIMPLE) {
+                       chunk_appendf(&trace_buf, " - req=(.fl=0x%08x .curr_len=%lu .body_len=%lu)",
+                                     h1s->req.flags, (unsigned long)h1s->req.curr_len, (unsigned long)h1s->req.body_len);
+                       chunk_appendf(&trace_buf, "  res=(.fl=0x%08x .curr_len=%lu .body_len=%lu)",
+                                     h1s->res.flags, (unsigned long)h1s->res.curr_len, (unsigned long)h1s->res.body_len);
+               }
+
+       }
+
        if (src->verbosity == H1_VERB_CLEAN)
                return;