]> git.plutz.net Git - cgilite/blobdiff - server.sh
always include debug functions, conditional handler selection
[cgilite] / server.sh
index 4eb253ffe2696f5ac5be0b60be18d91da74b2511..0cb43ffbc57cef49e45c951b7e4194a87df15704 100755 (executable)
--- a/server.sh
+++ b/server.sh
@@ -34,6 +34,10 @@ sed -unr '
     h
     s;^(GET|HEAD|POST) ([^\?]*)\??(.+)? (HTTP\/[0-9]\.[0-9])\r?$;export REQUEST_METHOD='\''\1'\'';p
     g
+    s;^(GET|HEAD|POST) ([^\?]*\??.*) (HTTP\/[0-9]\.[0-9])\r?$;\2;
+    s;'\'';'\''\\'\'''\'';g
+    s;^.*$;export REQUEST_URI='\''&'\'';p
+    g
     s;^(GET|HEAD|POST) ([^\?]*)\??(.+)? (HTTP\/[0-9]\.[0-9])\r?$;\2;
     s;'\'';'\''\\'\'''\'';g
     s;^.*$;export PATH_INFO='\''&'\'';p
@@ -71,9 +75,10 @@ HTTP_format(){
   /^\r?$/!{H;n;bA}
   
   g
-  s;^(\r?\n)*;;
+  s;^(\r?\n)*;;;
+  s;([^\r])\n;\1\r\n;g;
   aConnection: close\r\n\r
-  /^HTTP\/[0-9]\.[0-9] [1-5][0-9][0-9] .*/bX
+  /^Status: *[1-5][0-9][0-9] .*/{s;^Status: *;HTTP/1.1 ;; bX}
   s;^(.+\n)?Location: .*$;HTTP/1.1 302 Found\r\n&;
   s;^(.+\n)?Content-Type: .*$;HTTP/1.1 200 OK\r\n&;