diff --git a/requests/models.py b/requests/models.py index 523245ba..bafe2550 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