예제 #1
0
 def _request(self, callback, method, uri, data=None):
     resp = yield from self._session.request(method, uri, data=data)
     body = yield from resp.text(encoding='utf-8')
     if resp.status == 599:
         raise base.Timeout
     r = base.Response(resp.status, resp.headers, body)
     return callback(r)
예제 #2
0
 def response(response):
     response.encoding = 'utf-8'
     return base.Response(
         response.status_code,
         response.headers,
         response.text,
         response.content)
예제 #3
0
파일: consul.py 프로젝트: tom2jack/patroni
 def response(response):
     data = response.data.decode('utf-8')
     if response.status == 500:
         msg = '{0} {1}'.format(response.status, data)
         if data.startswith('Invalid Session TTL'):
             raise InvalidSessionTTL(msg)
         else:
             raise ConsulInternalError(msg)
     return base.Response(response.status, response.headers, data)
예제 #4
0
 def _request(self, callback, method, uri, data=None):
     resp = yield from aiohttp.request(method, uri,
                                       connector=self._connector,
                                       data=data, loop=self._loop)
     body = yield from resp.text(encoding='utf-8')
     if resp.status == 599:
         raise base.Timeout
     r = base.Response(resp.status, resp.headers, body)
     return callback(r)
예제 #5
0
 async def _request(self, callback, method, uri, data=None):
     connector = aiohttp.TCPConnector(loop=self._loop,
                                      verify_ssl=self.verify)
     async with aiohttp.ClientSession(connector=connector) as session:
         self._session = session
         resp = await session.request(method=method, url=uri, data=data)
         body = await resp.text(encoding='utf-8')
         content = await resp.read()
         if resp.status == 599:
             raise base.Timeout
         r = base.Response(resp.status, resp.headers, body, content)
         await session.close()
         return callback(r)
예제 #6
0
 async def _request(self,
                    callback,
                    method,
                    uri,
                    data=None,
                    connections_timeout=None):
     session_kwargs = {}
     if connections_timeout:
         timeout = aiohttp.ClientTimeout(total=connections_timeout)
         session_kwargs['timeout'] = timeout
     resp = await self._session.request(method,
                                        uri,
                                        data=data,
                                        **session_kwargs)
     body = await resp.text(encoding='utf-8')
     if resp.status == 599:
         raise base.Timeout
     r = base.Response(resp.status, resp.headers, body)
     return callback(r)
예제 #7
0
 def response(self, response):
     return base.Response(response.code, response.headers,
                          response.body.decode('utf-8'))
예제 #8
0
 def response(code, headers, text):
     return base.Response(code, headers, text)
예제 #9
0
 def response(self, response):
     return base.Response(response.status_code, response.headers,
                          response.text)
예제 #10
0
 def response(response):
     data = response.data.decode('utf-8')
     if response.status == 500:
         raise ConsulInternalError('{0} {1}'.format(response.status, data))
     return base.Response(response.status, response.headers, data)
예제 #11
0
 def response(self, response):
     return base.Response(response.status, response.headers,
                          response.data.decode('utf-8'))
예제 #12
0
파일: consul.py 프로젝트: rnz/patroni
 def response(response):
     if response.status == 500:
         raise ConsulInternalError()
     return base.Response(response.status, response.headers, response.data.decode('utf-8'))