On 12:48 pm, [email protected] wrote: > > >On Tue, 28 Sep 2010 17:52 +0000, [email protected] wrote: >... >>It's correct that setHeader and getHeader operate on different data >>sets. Less confusing names for what the two methods do would have >>been >>setResponseHeader and getRequestHeader respectively. >> >>In newer versions of Twisted, the requests have two new attributes, >>requestHeaders and responseHeaders, with various methods for >>inspection >>and modification. Nevow's Request class should inherit these. >>However >>Nevow's FakeRequest probably doesn't. >> >>The right way to test for headers is probably to fix the FakeRequest >>class so that it is more inspectable, and to verify that it actually >>behaves in the same way as a real request object. > >Thanks for the explanation! I've done this for now: > > class FakeRequest(nevow.testutil.FakeRequest): > def getResponseHeader(self, key): > return self.headers.get(key.lower()) > >Should I put in a ticket requesting something like this?
Certainly. Things are a little mixed up here though, let's see... Twisted Web provides a base Request class. Nevow subclasses it to create the request class all Nevow applications get. Then Twisted Web also provides a FakeRequest, which isn't very good, and I think there is a ticket (in the Twisted tracker) for improving. Then Nevow provides its own FakeRequest, not a subclass of Twisted's FakeRequest. There probably needs to be a Nevow ticket for doing something about Nevow's FakeRequest class - in the short term, fixing these minor issues; but in the longer term, getting rid of it, and hopefully NevowRequest as well, makes a lot of sense. Jean-Paul _______________________________________________ Twisted-web mailing list [email protected] http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
