Reputation: 31615
I'd like to remove the repeated x.raise_for_status()
lines:
x = requests.get(url1)
x.raise_for_status()
y = requests.delete(url2)
y.raise_for_status()
z = requests.post(url3, data={'foo': 'bar'})
z.raise_for_status()
How can I call raise_for_status()
automatically?
Upvotes: 32
Views: 7523
Reputation: 31615
Create a session with a hook:
session = requests.Session()
session.hooks = {
'response': lambda r, *args, **kwargs: r.raise_for_status()
}
x = session.get(url1)
y = session.delete(url2)
z = session.post(url3, data={'foo': 'bar'})
Upvotes: 65