@@ -11,8 +11,9 @@ class RelativeHttpRequestor(object):
11
11
A thin wrapper around the requests module that allows for endpoint paths
12
12
to be given relative to a fixed base URL
13
13
"""
14
- def __init__ (self , base_url ):
14
+ def __init__ (self , base_url , session = None ):
15
15
self .base_url = base_url
16
+ self .session = session or requests .Session ()
16
17
17
18
def absolute_url (self , relative_path ):
18
19
"""
@@ -26,22 +27,22 @@ def absolute_url(self, relative_path):
26
27
# except that they expect relative paths
27
28
28
29
def delete (self , relative_path , ** kwargs ):
29
- return requests .delete (self .absolute_url (relative_path ), ** kwargs )
30
+ return self . session .delete (self .absolute_url (relative_path ), ** kwargs )
30
31
31
32
def get (self , relative_path , params = None , ** kwargs ):
32
- return requests .get (self .absolute_url (relative_path ), params = params , ** kwargs )
33
+ return self . session .get (self .absolute_url (relative_path ), params = params , ** kwargs )
33
34
34
35
def options (self , relative_path , params = None , ** kwargs ):
35
- return requests .options (self .absolute_url (relative_path ), params = params , ** kwargs )
36
+ return self . session .options (self .absolute_url (relative_path ), params = params , ** kwargs )
36
37
37
38
def patch (self , relative_path , data = None , ** kwargs ):
38
- return requests .patch (self .absolute_url (relative_path ), data = data , ** kwargs )
39
+ return self . session .patch (self .absolute_url (relative_path ), data = data , ** kwargs )
39
40
40
41
def post (self , relative_path , data = None , ** kwargs ):
41
- return requests .post (self .absolute_url (relative_path ), data = data , ** kwargs )
42
+ return self . session .post (self .absolute_url (relative_path ), data = data , ** kwargs )
42
43
43
44
def put (self , relative_path , params = None , data = None , ** kwargs ):
44
- return requests .put (self .absolute_url (relative_path ), params = params , data = data , ** kwargs )
45
+ return self . session .put (self .absolute_url (relative_path ), params = params , data = data , ** kwargs )
45
46
46
47
47
48
def append_url (base_url , path ):
0 commit comments