From d948340fea80c9d9588128fbf36e94a686a2784b Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 28 Dec 2020 00:17:55 +0100 Subject: parse request line using jq instead of sed --- htgen | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/htgen b/htgen index b5519dd..20ad13c 100755 --- a/htgen +++ b/htgen @@ -61,23 +61,22 @@ EOF fi ## }}} ## Parse Request-Line. {{{ -read Request_Line -eval "$(echo "$Request_Line" | sed -rn ' - s^([a-zA-Z]+) ([a-zA-Z0-9=?&+*/._-]+) HTTP/([0-9]+\.[0-9]+)\r$\ - Request_Line="&"\ - Method="\1"\ - Request_URI="\2"\ - HTTP_Version="\3"\ - p;t;i\ - Request_Line= # invalid request -')" -#echo "Request-Line: $Request_Line" >&2 -# cat>&2<[A-Za-z]+)" + + " (?[A-Za-z0-9%&+*./=?@_-]+)" + + " HTTP/(?[0-9]+\\.[0-9]+)" + + "$" + ) + .captures | + map("\(.name)=\(@sh "\(.string)")") | + join("\n") + ' +)" ## debug if test "$HTGEN_VERBOSE" = true; then -- cgit v1.2.3