X-Git-Url: http://dolda2000.com/gitweb/?p=wrw.git;a=blobdiff_plain;f=wrw%2Futil.py;fp=wrw%2Futil.py;h=eaa6a6280ffdcf90d79d086e72efb416d1213b49;hp=bf78f8e9f6f48efe4b4b876a5d8bae820c72f137;hb=fd7af0a278cf6a58b8ea371e3e84c99c1cb77e0c;hpb=a7a0908019bb95bb2be1c01e97e88f344807ccec diff --git a/wrw/util.py b/wrw/util.py index bf78f8e..eaa6a62 100644 --- a/wrw/util.py +++ b/wrw/util.py @@ -1,5 +1,5 @@ import inspect -from . import req, dispatch, session, form +from . import req, dispatch, session, form, resp def wsgiwrap(callable): def wrapper(env, startreq): @@ -25,6 +25,9 @@ def formparams(callable): for arg in list(args): if arg not in spec.args: del args[arg] + for i in range(len(spec.args) - len(spec.defaults)): + if spec.args[i] not in args: + raise resp.httperror(400, "Missing parameter", ("The query parameter `", resp.h.code(spec.args[i]), "' is required but not supplied.")) return callable(**args) return wrapper