jbe@214: --[[-- jbe@342: value = -- value of GET/POST parameter, or value list if multiple == true jbe@214: request.get_param{ jbe@342: method = method, -- "GET", "POST", or nil to query both (POST has precedence) jbe@342: name = name, -- field name jbe@342: index = index, -- defaults to 1 to get first occurrence, only applicable if multiple == false jbe@342: multiple = multiple, -- boolean to indicate whether to return a single value or a value list jbe@342: meta = meta -- set to true to get metadata (table with "file_name" and "content_type") jbe@214: } jbe@214: jbe@214: Reads GET/POST parameters directly from the underlaying request. jbe@214: jbe@214: --]]-- jbe@214: jbe@214: function request.get_param(args) jbe@214: local param_list jbe@342: if args.metadata then jbe@342: if args.method == "GET" then jbe@342: param_list = request._http_request.get_metadata_list[args.name] jbe@342: elseif args.method == "POST" then jbe@342: param_list = request._http_request.post_metadata_list[args.name] jbe@342: elseif not args.method then jbe@342: param_list = request._http_request.post_metadata_list[args.name] jbe@342: if not param_list[args.index or 1] then jbe@342: param_list = request._http_request.get_metadata_list[args.name] jbe@342: end jbe@342: end jbe@342: else jbe@342: if args.method == "GET" then jbe@214: param_list = request._http_request.get_params_list[args.name] jbe@342: elseif args.method == "POST" then jbe@342: param_list = request._http_request.post_params_list[args.name] jbe@342: elseif not args.method then jbe@342: param_list = request._http_request.post_params_list[args.name] jbe@342: if not param_list[args.index or 1] then jbe@342: param_list = request._http_request.get_params_list[args.name] jbe@342: end jbe@214: end jbe@214: end jbe@331: if args.multiple then jbe@214: return param_list jbe@214: else jbe@342: return param_list[args.index or 1] jbe@214: end jbe@214: end jbe@214: jbe@214: --//--