Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# 

2# Copyright (C) 2019-2020 Leo P. Singer <leo.singer@ligo.org> 

3# 

4# This program is free software: you can redistribute it and/or modify 

5# it under the terms of the GNU General Public License as published by 

6# the Free Software Foundation, either version 3 of the License, or 

7# (at your option) any later version. 

8# 

9# This program is distributed in the hope that it will be useful, 

10# but WITHOUT ANY WARRANTY; without even the implied warranty of 

11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

12# GNU General Public License for more details. 

13# 

14# You should have received a copy of the GNU General Public License 

15# along with this program. If not, see <https://www.gnu.org/licenses/>. 

16# 

17 

18 

19def _hook_raise_errors(response, *args, **kwargs): 

20 """Response hook to raise exception for any HTTP error (status >= 400).""" 

21 response.raise_for_status() 

22 

23 

24class SessionErrorMixin(object): 

25 """A mixin for :class:`requests.Session` to raise exceptions for HTTP 

26 errors. 

27 """ 

28 

29 def __init__(self, **kwargs): 

30 super(SessionErrorMixin, self).__init__(**kwargs) 

31 self.hooks['response'].append(_hook_raise_errors)