webmcp
view framework/env/request/get_param.lua @ 346:b5c8a6ed53d4
Bugfix regarding MIME types for static file delivery
| author | jbe | 
|---|---|
| date | Thu Mar 26 02:58:36 2015 +0100 (2015-03-26) | 
| parents | 061ee100f1c1 | 
| children | f60f5ee90efb | 
 line source
     1 --[[--
     2 value =                 -- value of GET/POST parameter, or value list if multiple == true
     3 request.get_param{
     4   method   = method,    -- "GET", "POST", or nil to query both (POST has precedence)
     5   name     = name,      -- field name
     6   index    = index,     -- defaults to 1 to get first occurrence, only applicable if multiple == false
     7   multiple = multiple,  -- boolean to indicate whether to return a single value or a value list
     8   meta     = meta       -- set to true to get metadata (table with "file_name" and "content_type")
     9 }
    11 Reads GET/POST parameters directly from the underlaying request.
    13 --]]--
    15 function request.get_param(args)
    16   local param_list
    17   if args.metadata then
    18     if args.method == "GET" then
    19       param_list = request._http_request.get_metadata_list[args.name]
    20     elseif args.method == "POST" then
    21       param_list = request._http_request.post_metadata_list[args.name]
    22     elseif not args.method then
    23       param_list = request._http_request.post_metadata_list[args.name]
    24       if not param_list[args.index or 1] then
    25         param_list = request._http_request.get_metadata_list[args.name]
    26       end
    27     end
    28   else
    29     if args.method == "GET" then
    30       param_list = request._http_request.get_params_list[args.name]
    31     elseif args.method == "POST" then
    32       param_list = request._http_request.post_params_list[args.name]
    33     elseif not args.method then
    34       param_list = request._http_request.post_params_list[args.name]
    35       if not param_list[args.index or 1] then
    36         param_list = request._http_request.get_params_list[args.name]
    37       end
    38     end
    39   end
    40   if args.multiple then
    41     return param_list
    42   else
    43     return param_list[args.index or 1]
    44   end
    45 end
    47 --//--
