mirror of
https://github.com/rembo10/headphones.git
synced 2026-07-19 23:44:01 +01:00
Adding Requests library
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
requests.safe_mode
|
||||
~~~~~~~~~~~~
|
||||
|
||||
This module contains a decorator that implements safe_mode.
|
||||
|
||||
:copyright: (c) 2012 by Kenneth Reitz.
|
||||
:license: ISC, see LICENSE for more details.
|
||||
|
||||
"""
|
||||
|
||||
from .models import Response
|
||||
from .packages.urllib3.response import HTTPResponse
|
||||
from .exceptions import RequestException, ConnectionError, HTTPError
|
||||
import socket
|
||||
|
||||
|
||||
def catch_exceptions_if_in_safe_mode(function):
|
||||
"""New implementation of safe_mode. We catch all exceptions at the API level
|
||||
and then return a blank Response object with the error field filled. This decorator
|
||||
wraps request() in api.py.
|
||||
"""
|
||||
|
||||
def wrapped(method, url, **kwargs):
|
||||
# if save_mode, we catch exceptions and fill error field
|
||||
if (kwargs.get('config') and kwargs.get('config').get('safe_mode')) or (kwargs.get('session')
|
||||
and kwargs.get('session').config.get('safe_mode')):
|
||||
try:
|
||||
return function(method, url, **kwargs)
|
||||
except (RequestException, ConnectionError, HTTPError,
|
||||
socket.timeout, socket.gaierror) as e:
|
||||
r = Response()
|
||||
r.error = e
|
||||
r.raw = HTTPResponse() # otherwise, tests fail
|
||||
r.status_code = 0 # with this status_code, content returns None
|
||||
return r
|
||||
return function(method, url, **kwargs)
|
||||
return wrapped
|
||||
Reference in New Issue
Block a user