summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/RunHTTP.hs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/RunHTTP.hs b/src/server/RunHTTP.hs
index 95c6ac2f2..0047d68a3 100644
--- a/src/server/RunHTTP.hs
+++ b/src/server/RunHTTP.hs
@@ -36,10 +36,13 @@ cgiReq root (Request method uri hdrs body) = CGIRequest vars inputs body'
'?':s -> s
s -> s
al = maybe "" id $ lookup "Accept-Language" hdrs
- inputs = map input $ queryToArguments qs -- assumes method=="GET"
+ inputs = map input $ queryToArguments $ fixplus qs -- assumes method=="GET"
body' = BS.pack body
- input (name,val) = (name,Input (BS.pack (map decode val)) Nothing plaintext)
+ input (name,val) = (name,Input (BS.pack val) Nothing plaintext)
plaintext = ContentType "text" "plain" []
- decode '+' = ' ' -- httpd-shed bug workaround
- decode c = c
+
+ fixplus = concatMap decode
+ where
+ decode '+' = "%20" -- httpd-shed bug workaround
+ decode c = [c]