@@ -135,17 +135,21 @@ 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- try :
139- resp_dict = json .loads (response .content )
140- except json .decoder .JSONDecodeError :
141- raise UnexpectedException ("failed to parse response: %s" % response .content )
142- if resp_dict and resp_dict .get ('error' ) and "no endpoint" in resp_dict .get ('error' ):
143- raise WarehouseTimeoutException
144- if resp_dict and resp_dict .get ('error' ):
145- raise UnexpectedException ("failed to query: %s" % response .content )
146- if self .persist_cookies :
147- self .cookies = response .cookies
148- return resp_dict
138+
139+ if response .content :
140+ try :
141+ resp_dict = json .loads (response .content )
142+ except ValueError :
143+ raise UnexpectedException ("failed to parse response: %s" % response .content )
144+ if resp_dict and resp_dict .get ('error' ) and "no endpoint" in resp_dict .get ('error' ):
145+ raise WarehouseTimeoutException
146+ if resp_dict and resp_dict .get ('error' ):
147+ raise UnexpectedException ("failed to query: %s" % response .content )
148+ if self .persist_cookies :
149+ self .cookies = response .cookies
150+ return resp_dict
151+ else :
152+ raise UnexpectedException ("response content is empty: %s" % response )
149153
150154 def query (self , statement ):
151155 url = self .format_url ()
0 commit comments