From: Kenneth Reitz Date: Wed, 17 Aug 2011 04:40:28 +0000 (-0400) Subject: move hooks into api layer only X-Git-Tag: v0.6.0~28 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=281ab5a8f9403135ffd05ff40f177529decd749e;p=services%2Fpython-requests.git move hooks into api layer only --- diff --git a/requests/api.py b/requests/api.py index e6ff715..c5a81c3 100644 --- a/requests/api.py +++ b/requests/api.py @@ -53,12 +53,24 @@ def request(method, url, proxies = proxies or config.settings.proxies, ) + # Arguments manipulation hook. args = dispatch_hook('args', hooks, args) + r = Request(hooks=hooks, **args) + # Pre-request hook. + r = dispatch_hook('pre_request', hooks, r) + + # Send the HTTP Request. r.send() + # Post-request hook. + r = dispatch_hook('post_request', hooks, r) + + # Response manipulation hook. + r.response = dispatch_hook('response', hooks, r.response) + return r.response diff --git a/requests/models.py b/requests/models.py index f9670a4..c802f03 100644 --- a/requests/models.py +++ b/requests/models.py @@ -16,7 +16,6 @@ from urlparse import urlparse, urlunparse, urljoin from datetime import datetime from .config import settings -from .hooks import dispatch_hook from .monkeys import Request as _Request, HTTPBasicAuthHandler, HTTPForcedBasicAuthHandler, HTTPDigestAuthHandler, HTTPRedirectHandler from .structures import CaseInsensitiveDict from .packages.poster.encode import multipart_encode @@ -328,12 +327,6 @@ class Request(object): opener = self._get_opener() try: - # pre-request hook. - self.__dict__.update( - dispatch_hook('pre_request', - self.hooks, self.__dict__) - ) - resp = opener(req, timeout=self.timeout) except TypeError, err: @@ -370,9 +363,6 @@ class Request(object): self.sent = self.response.ok - self.__dict__.update( - dispatch_hook('post_request', self.hooks, self.__dict__)) - return self.sent