From: Kenneth Reitz Date: Sun, 23 Oct 2011 18:46:35 +0000 (-0400) Subject: Move hooks into internal event loop X-Git-Tag: v0.7.1~1^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=491a3c075d341a048c50b4a989b87da0c2a75992;p=services%2Fpython-requests.git Move hooks into internal event loop --- diff --git a/requests/models.py b/requests/models.py index 523245b..bafe255 100644 --- a/requests/models.py +++ b/requests/models.py @@ -16,6 +16,7 @@ from urllib2 import HTTPError from urlparse import urlparse, urlunparse, urljoin from datetime import datetime +from .hooks import dispatch_hook from .structures import CaseInsensitiveDict from .packages.poster.encode import multipart_encode from .packages.poster.streaminghttp import register_openers, get_handlers @@ -121,6 +122,10 @@ class Request(object): self.headers = headers + # Pre-request hook. + r = dispatch_hook('pre_request', hooks, self) + self.__dict__.update(r.__dict__) + def __repr__(self): return '' % (self.method) @@ -386,6 +391,13 @@ class Request(object): self.sent = self.response.ok + # Response manipulation hook. + self.response = dispatch_hook('response', self.hooks, self.response) + + # Post-request hook. + r = dispatch_hook('post_request', self.hooks, self) + self.__dict__.update(r.__dict__) + return self.sent