From 281ab5a8f9403135ffd05ff40f177529decd749e Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Wed, 17 Aug 2011 00:40:28 -0400 Subject: [PATCH] move hooks into api layer only --- requests/api.py | 12 ++++++++++++ requests/models.py | 10 ---------- 2 files changed, 12 insertions(+), 10 deletions(-) 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 -- 2.34.1