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 ?