# Method of this request (GET or POST)
var method: String
- # The host targetter by this request (usually the server)
- var host: String
-
# The full URL requested by the client (including the `query_string`)
var url: String
end
# POST args
- if http_request.method == "POST" then
+ if http_request.method == "POST" or http_request.method == "PUT" then
http_request.body = body
var lines = body.split_with('&')
for line in lines do if not line.trim.is_empty then
var decoded = parts[1].replace('+', " ").from_percent_encoding
http_request.post_args[parts[0]] = decoded
http_request.all_args[parts[0]] = decoded
- else
- print "POST Error: {line} format error on {line}"
end
end
end
for param in get_args do
var key_value = param.split_with("=")
if key_value.length < 2 then continue
- query_strings[key_value[0]] = key_value[1]
+
+ var key = key_value[0].from_percent_encoding
+ var value = key_value[1].from_percent_encoding
+ query_strings[key] = value
end
end