webmcp
annotate framework/env/request/get_param.lua @ 331:264af2867720
Bugfix in request.get_param{...}
author | jbe |
---|---|
date | Tue Mar 24 16:24:42 2015 +0100 (2015-03-24) |
parents | 6ac7133bb58e |
children | 061ee100f1c1 |
rev | line source |
---|---|
jbe@214 | 1 --[[-- |
jbe@214 | 2 value = -- value of GET/POST parameter, or value list if multiple == true |
jbe@214 | 3 request.get_param{ |
jbe@214 | 4 method = method, -- "GET", "POST", or nil to query both (POST has precedence) |
jbe@214 | 5 name = name, -- field name |
jbe@214 | 6 index = index, -- defaults to 1 to get first occurrence, only applicable if multiple == false |
jbe@214 | 7 multiple = multiple -- boolean to indicate whether to return a single value or a value list |
jbe@214 | 8 } |
jbe@214 | 9 |
jbe@214 | 10 Reads GET/POST parameters directly from the underlaying request. |
jbe@214 | 11 |
jbe@214 | 12 --]]-- |
jbe@214 | 13 |
jbe@214 | 14 function request.get_param(args) |
jbe@214 | 15 local param_list |
jbe@214 | 16 if args.method == "GET" then |
jbe@214 | 17 param_list = request._http_request.get_params_list[args.name] |
jbe@214 | 18 elseif args.method == "POST" then |
jbe@214 | 19 param_list = request._http_request.post_params_list[args.name] |
jbe@214 | 20 elseif not args.method then |
jbe@214 | 21 param_list = request._http_request.post_params_list[args.name] |
jbe@214 | 22 if not param_list[index or 1] then |
jbe@214 | 23 param_list = request._http_request.get_params_list[args.name] |
jbe@214 | 24 end |
jbe@214 | 25 end |
jbe@331 | 26 if args.multiple then |
jbe@214 | 27 return param_list |
jbe@214 | 28 else |
jbe@214 | 29 return param_list[index or 1] |
jbe@214 | 30 end |
jbe@214 | 31 end |
jbe@214 | 32 |
jbe@214 | 33 --//-- |