From c5ed41e00a2010fc251ed5655d9f1923c345878a Mon Sep 17 00:00:00 2001 From: Alex Chan Date: Tue, 24 Oct 2017 07:27:55 +0100 Subject: [PATCH] Add an example of two hooks --- docs/user/advanced.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/user/advanced.rst b/docs/user/advanced.rst index c24f6e5b..587b3fdc 100644 --- a/docs/user/advanced.rst +++ b/docs/user/advanced.rst @@ -452,12 +452,24 @@ If the callback function returns a value, it is assumed that it is to replace the data that was passed in. If the function doesn't return anything, nothing else is effected. +:: + + def record_hook(r, *args, **kwargs): + r.hook_called = True + return r + Let's print some request method arguments at runtime:: >>> requests.get('http://httpbin.org', hooks={'response': print_url}) http://httpbin.org +You can add multiple hooks to a single request. Let's call two hooks at once:: + + >>> r = requests.get('http://httpbin.org', hooks={'response': [print_url, record_hook]}) + >>> r.hook_called + True + You can also add hooks to a ``Session`` instance. Any hooks you add will then be called on every request made to the session. For example::