'Returns a list of query or POST arguments with the given name.
We parse the query string and POST payload lazily, so this will be a
slower operation on the first call.
Args:
argument_name: the name of the query or POST argument
default_value: the value to return if the given argument is not present,
None may not be used as a default, if it is then an empty list will be
returned instead.
Returns:
A (possibly empty) list of values.'

def get_all(self, argument_name, default_value=None):

    if self.charset:
        argument_name = argument_name.encode(self.charset)
    if (default_value is None):
        default_value = []
    param_value = self.params.getall(argument_name)
    if ((param_value is None) or (len(param_value) == 0)):
        return default_value
    for i in xrange(len(param_value)):
        if isinstance(param_value[i], cgi.FieldStorage):
            param_value[i] = param_value[i].value
    return param_value
