[Twisted-web] Nevow, IRequest and REST
Vincent Bernat
bernat at luffy.cx
Tue Aug 21 10:34:34 EDT 2007
Hi !
In REST world, to overcome limitations of some navigators or
limitations of XHTML, there is a method called "overloaded"
POST. When you want to use PUT or DELETE method but you cannot,
you use POST and you add "_method" to POST arguments whose value
is either "PUT" or "DELETE".
I have inherited from rend.Page and used some code like this to
implement this idea:
request = inevow.IRequest(ctx)
if request.method == "POST" and request.args.get("_method") in ["PUT",
"DELETE"]):
request.method = request.args.get("_method")
del request.args["_method"]
However, I now would like to use the same snippet in
rend.Fragment. I could subclass rend.Fragment but maybe there is
a better way to centralize all those modifications in one
place. Could I redefine IRequest adapter (where is it?) to
achieve this? And how to explain to the registry that my adapter
must be used in place of the original adapter?
In a similar manner, I would like to modify stan such that
T.form(method="PUT") to be turned into
T.form(method="POST")[T.input(type="hidden", name="_method",
value="PUT")]. Is it some easy way to do this ?
Thanks !
More information about the Twisted-web
mailing list