On Nov 10, 2005, at 6:08 AM, Matt Patterson wrote:


    def process_request(self, request):
        request.__class__ = MyHTTPRequest
        return Publisher.process_request(self, request)

Unless I'm being dense (and hey, that's not unknown...) doing this means that you miss the opportunity to do something with the Request's __init__ method, which seems like a fairly major loss to me.

So, I think that my proposal provides a better separated way to do something I think is important. The keyword option allows people to use a different Request without subclassing Publisher, and I'm not convinced that that's essential.

I'd be perfectly happy to force people to subclass Publisher to make it happen and just add create_request() as a method.

If people are going to the trouble to subclass HTTPRequest, then I don't think subclassing Publisher too will present any significant obstacle. It seems
better to me to leave the keyword option out.

If the Publisher is be the authority request instance construction, maybe
it also be the caller of the request constructor.

    def process(self, stdin, env):
        request = HTTPRequest(stdin, env)
        return self.process_request(request)

Wouldn't this simplify the responsibilities of the driver scripts?
(And you could override process to get your customized requests.)


_______________________________________________
Quixote-users mailing list
[email protected]
http://mail.mems-exchange.org/mailman/listinfo/quixote-users

Reply via email to