return s
end
- # Returns argument `arg_name` as an Int or `null` if not found or not a number.
+ # Returns argument `arg_name` as an Int or `null` if not found or not an integer.
#
# NOTE: Prioritizes POST before GET
fun int_arg(arg_name: String): nullable Int do
if not all_args.has_key(arg_name) then return null
var i = all_args[arg_name]
- if not i.is_numeric then return null
+ if not i.is_int then return null
return i.to_i
end
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
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