@@ -135,6 +135,15 @@ def do_query(self, url, query_sql):
135135 auth = HTTPBasicAuth (self .user , self .password ),
136136 timeout = (self .connect_timeout , self .read_timeout ),
137137 verify = True )
138+ if response .status_code != 200 :
139+ try :
140+ resp_dict = json .loads (response .content )
141+ if resp_dict and resp_dict .get ('error' ) and "no endpoint" in resp_dict .get ('error' ):
142+ raise WarehouseTimeoutException
143+ except ValueError :
144+ pass
145+ raise UnexpectedException ("Unexpected status code %d when post query, content: %s" %
146+ (response .status_code , response .content ))
138147
139148 if response .content :
140149 try :
@@ -196,6 +205,7 @@ def wait_until_has_schema(self, raw_data_dict):
196205 if raw_data_dict ['next_uri' ] is None :
197206 break
198207 resp = self .next_page (raw_data_dict ['next_uri' ])
208+
199209 resp_dict = json .loads (resp .content )
200210 raw_data_dict = resp_dict
201211 resp_schema = raw_data_dict .get ("schema" )
@@ -205,7 +215,12 @@ def wait_until_has_schema(self, raw_data_dict):
205215
206216 def next_page (self , next_uri ):
207217 url = "{}://{}:{}{}" .format (self .schema , self .host , self .port , next_uri )
208- return self .requests_session .get (url = url , headers = self .make_headers (), cookies = self .cookies )
218+
219+ response = self .requests_session .get (url = url , headers = self .make_headers (), cookies = self .cookies )
220+ if response .status_code != 200 :
221+ raise UnexpectedException ("Unexpected status code %d when get %s, content: %s" %
222+ (response .status_code , url , response .content ))
223+ return response
209224
210225 # return a list of response util empty next_uri
211226 def query_with_session (self , statement ):
0 commit comments