@@ -53,28 +53,58 @@ def __init__(self, options):
5353 self ._session = requests .Session ()
5454 self ._last_resp = None
5555 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" ]
5964
6065 def tab_activate (self , id = None ):
6166 if not id :
6267 active_tab = self .tab_list ()[0 ]
6368 id = active_tab .id
6469 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 ()
6677
6778 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 ]
7087
7188 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 ()
7396
7497 def tab_close_last_opened (self ):
7598 sessions = self .tab_list ()
7699 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 ()
78108
79109 async def send (self , method , params ):
80110 pip_find_lock = fasteners .InterProcessLock (
@@ -101,27 +131,38 @@ def get(self, uri):
101131 from urllib .parse import unquote
102132
103133 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
112147
113148 def post (self , uri , data = None ):
114149 from urllib .parse import unquote
115150
116151 uri = unquote (uri , errors = "strict" )
117152 if not data :
118153 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
125166
126167 @property
127168 def last_json (self ):
0 commit comments