From 1ced0040bdc7da87b9fb05c57fc2443be012caf9 Mon Sep 17 00:00:00 2001 From: Artur Siekielski Date: Fri, 6 Nov 2015 21:54:43 +0100 Subject: [PATCH] Assure session is closed on exception. --- requests/api.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/requests/api.py b/requests/api.py index 72a777b291..09ec731b06 100644 --- a/requests/api.py +++ b/requests/api.py @@ -46,13 +46,11 @@ def request(method, url, **kwargs): """ - session = sessions.Session() - response = session.request(method=method, url=url, **kwargs) - # By explicitly closing the session, we avoid leaving sockets open which - # can trigger a ResourceWarning in some cases, and look like a memory leak - # in others. - session.close() - return response + # By using the 'with' statement we are sure the session is closed, thus we + # avoid leaving sockets open which can trigger a ResourceWarning in some + # cases, and look like a memory leak in others. + with sessions.Session() as session: + return session.request(method=method, url=url, **kwargs) def get(url, params=None, **kwargs):