]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
DEV: h2: add the preface as well in supported output types
authorWilly Tarreau <w@1wt.eu>
Tue, 10 Oct 2023 14:45:45 +0000 (16:45 +0200)
committerWilly Tarreau <w@1wt.eu>
Sat, 6 Jan 2024 10:02:37 +0000 (11:02 +0100)
It's annoying to always have to append it from a capture, let's also
support producing the preface.

dev/h2/mkhdr.sh

index e83e24f9411a24ed616a3247351c58f1a8f913c6..086b84b85f96f002c76557d007b6580eda3cf747 100755 (executable)
@@ -9,7 +9,7 @@ USAGE=\
         Numbers are decimal or 0xhex. Not set=0. If <data> is passed, it points
         to a file that is read and chunked into frames of <len> bytes. -e
         encodes a headers frame (by default) with all headers at once encoded
-        in literal.
+        in literal. Use type 'p' for the preface.
 
 Supported symbolic types (case insensitive prefix match):
    DATA        (0x00)      PUSH_PROMISE   (0x05)
@@ -140,7 +140,9 @@ if [ -n "${ID##[0-9]*}" ]; then
        die
 fi
 
-if [ -z "$DATA" ]; then
+if [ "$TYPE" = "p" ]; then
+        printf "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
+elif [ -z "$DATA" ]; then
         HEX=""
         # If we're trying to emit literal headers, let's pre-build the raw data
         # and measure their total length.