'whence: the name of the request variable that should be used
for this parameter.  Defaults to a request variable of the
same name as the parameter.
converter: a function that takes a string and returns a new
value.  If specified, this will be called on the request
variable value before passing to the function
default: a value to be used for the argument if the parameter
is missing in the request
validator: similar to converter, but takes an already parsed JSON
data structure.  If specified, we will parse the JSON request
variable value before passing to the function
argument_type: pass \'body\' to extract the parsed JSON
corresponding to the request body'

def __init__(self, whence=None, converter=None, default=NotSpecified, validator=None, argument_type=None):

    self.post_var_name = whence
    self.func_var_name = None
    self.converter = converter
    self.validator = validator
    self.default = default
    self.argument_type = argument_type
    if (converter and validator):
        raise AssertionError('converter    and    validator    are    mutually    exclusive')
