@@ -53,28 +53,58 @@ def __init__(self, options):
53
53
self ._session = requests .Session ()
54
54
self ._last_resp = None
55
55
self ._last_json = None
56
- resp = self .get (self .endpoints .json )
57
- self .sessionId = resp [0 ]["id" ]
58
- self .wsurl = resp [0 ]["webSocketDebuggerUrl" ]
56
+ with requests .Session () as session :
57
+ resp = session .get (
58
+ self .server_addr + self .endpoints .json ,
59
+ headers = {"Connection" : "close" },
60
+ timeout = 2 ,
61
+ )
62
+ self .sessionId = resp .json ()[0 ]["id" ]
63
+ self .wsurl = resp .json ()[0 ]["webSocketDebuggerUrl" ]
59
64
60
65
def tab_activate (self , id = None ):
61
66
if not id :
62
67
active_tab = self .tab_list ()[0 ]
63
68
id = active_tab .id
64
69
self .wsurl = active_tab .webSocketDebuggerUrl
65
- return self .post (self .endpoints ["activate" ].format (id = id ))
70
+ with requests .Session () as session :
71
+ resp = session .post (
72
+ self .server_addr + self .endpoints ["activate" ].format (id = id ),
73
+ headers = {"Connection" : "close" },
74
+ timeout = 2 ,
75
+ )
76
+ return resp .json ()
66
77
67
78
def tab_list (self ):
68
- retval = self .get (self .endpoints ["list" ])
69
- return [PageElement (o ) for o in retval ]
79
+ with requests .Session () as session :
80
+ resp = session .get (
81
+ self .server_addr + self .endpoints ["list" ],
82
+ headers = {"Connection" : "close" },
83
+ timeout = 2 ,
84
+ )
85
+ retval = resp .json ()
86
+ return [PageElement (o ) for o in retval ]
70
87
71
88
def tab_new (self , url ):
72
- return self .post (self .endpoints ["new" ].format (url = url ))
89
+ with requests .Session () as session :
90
+ resp = session .post (
91
+ self .server_addr + self .endpoints ["new" ].format (url = url ),
92
+ headers = {"Connection" : "close" },
93
+ timeout = 2 ,
94
+ )
95
+ return resp .json ()
73
96
74
97
def tab_close_last_opened (self ):
75
98
sessions = self .tab_list ()
76
99
opentabs = [s for s in sessions if s ["type" ] == "page" ]
77
- return self .post (self .endpoints ["close" ].format (id = opentabs [- 1 ]["id" ]))
100
+ with requests .Session () as session :
101
+ endp_close = self .endpoints ["close" ]
102
+ resp = session .post (
103
+ self .server_addr + endp_close .format (id = opentabs [- 1 ]["id" ]),
104
+ headers = {"Connection" : "close" },
105
+ timeout = 2 ,
106
+ )
107
+ return resp .json ()
78
108
79
109
async def send (self , method , params ):
80
110
pip_find_lock = fasteners .InterProcessLock (
@@ -101,27 +131,38 @@ def get(self, uri):
101
131
from urllib .parse import unquote
102
132
103
133
uri = unquote (uri , errors = "strict" )
104
- resp = self ._session .get (self .server_addr + uri )
105
- try :
106
- self ._last_resp = resp
107
- self ._last_json = resp .json ()
108
- except Exception :
109
- return
110
- else :
111
- return self ._last_json
134
+ with requests .Session () as session :
135
+ resp = session .get (
136
+ self .server_addr + uri ,
137
+ headers = {"Connection" : "close" },
138
+ timeout = 2 ,
139
+ )
140
+ try :
141
+ self ._last_resp = resp
142
+ self ._last_json = resp .json ()
143
+ except Exception :
144
+ return
145
+ else :
146
+ return self ._last_json
112
147
113
148
def post (self , uri , data = None ):
114
149
from urllib .parse import unquote
115
150
116
151
uri = unquote (uri , errors = "strict" )
117
152
if not data :
118
153
data = {}
119
- resp = self ._session .post (self .server_addr + uri , json = data )
120
- try :
121
- self ._last_resp = resp
122
- self ._last_json = resp .json ()
123
- except Exception :
124
- return self ._last_resp
154
+ with requests .Session () as session :
155
+ resp = session .post (
156
+ self .server_addr + uri ,
157
+ json = data ,
158
+ headers = {"Connection" : "close" },
159
+ timeout = 2 ,
160
+ )
161
+ try :
162
+ self ._last_resp = resp
163
+ self ._last_json = resp .json ()
164
+ except Exception :
165
+ return self ._last_resp
125
166
126
167
@property
127
168
def last_json (self ):
0 commit comments