diff options
author | Francesco Colista <fcolista@alpinelinux.org> | 2017-12-18 15:12:05 +0000 |
---|---|---|
committer | Francesco Colista <fcolista@alpinelinux.org> | 2017-12-18 15:12:05 +0000 |
commit | 0d44bca5f6170a245426d62baeb0d7fab4371f6c (patch) | |
tree | 52613004f86fe8cd655adf3257f22a49e0003f42 /community/gns3-server/aiohttp-support.patch | |
parent | 50c5e2f32519a20c2bdcb3e7cf03ff93fef34297 (diff) | |
download | aports-0d44bca5f6170a245426d62baeb0d7fab4371f6c.tar.bz2 aports-0d44bca5f6170a245426d62baeb0d7fab4371f6c.tar.xz |
community/gns3-server: aiohttp support added from upstream
Diffstat (limited to 'community/gns3-server/aiohttp-support.patch')
-rw-r--r-- | community/gns3-server/aiohttp-support.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/community/gns3-server/aiohttp-support.patch b/community/gns3-server/aiohttp-support.patch new file mode 100644 index 0000000000..83bb6ee733 --- /dev/null +++ b/community/gns3-server/aiohttp-support.patch @@ -0,0 +1,61 @@ +From a7412d1c879920c3b2c2871763aafbe6836d1ed7 Mon Sep 17 00:00:00 2001 +From: ziajka <dominik@gns3.net> +Date: Thu, 26 Oct 2017 16:29:01 +0200 +Subject: [PATCH] aiohttp 2.3.1 dependency + +--- + gns3server/controller/compute.py | 8 +++++++- + gns3server/web/web_server.py | 11 ++++++++--- + requirements.txt | 2 +- + 3 files changed, 16 insertions(+), 5 deletions(-) + +diff --git a/gns3server/controller/compute.py b/gns3server/controller/compute.py +index 05154fd3..8a3d35e8 100644 +--- a/gns3server/controller/compute.py ++++ b/gns3server/controller/compute.py +@@ -506,10 +506,16 @@ def _run_http_query(self, method, path, data=None, timeout=20, raw=False): + else: + data = json.dumps(data).encode("utf-8") + try: ++ log.debug("Attempting request to compute: {method} {url} {headers}".format( ++ method=method, ++ url=url, ++ headers=headers ++ )) + response = yield from self._session().request(method, url, headers=headers, data=data, auth=self._auth, chunked=chunked, timeout=timeout) + except asyncio.TimeoutError as e: + raise ComputeError("Timeout error when connecting to {}".format(url)) +- except (aiohttp.ClientError, aiohttp.ServerDisconnectedError, ValueError, KeyError) as e: ++ except (aiohttp.ClientError, aiohttp.ServerDisconnectedError, ValueError, KeyError, socket.gaierror) as e: ++ # aiohttp 2.3.1 raises socket.gaierror when cannot find host + raise ComputeError(str(e)) + body = yield from response.read() + if body and not raw: +diff --git a/gns3server/web/web_server.py b/gns3server/web/web_server.py +index 40179367..9ce9c2e0 100644 +--- a/gns3server/web/web_server.py ++++ b/gns3server/web/web_server.py +@@ -43,8 +43,8 @@ + import logging + log = logging.getLogger(__name__) + +-if not aiohttp.__version__.startswith("2.2"): +- raise RuntimeError("aiohttp 2.2 is required to run the GNS3 server") ++if not (aiohttp.__version__.startswith("2.2") or aiohttp.__version__.startswith("2.3")): ++ raise RuntimeError("aiohttp 2.2.x or 2.3.x is required to run the GNS3 server") + + + class WebServer: +@@ -102,7 +102,12 @@ def shutdown_server(self): + if self._app: + yield from self._app.shutdown() + if self._handler: +- yield from self._handler.finish_connections(2) # Parameter is timeout ++ try: ++ # aiohttp < 2.3 ++ yield from self._handler.finish_connections(2) # Parameter is timeout ++ except AttributeError: ++ # aiohttp >= 2.3 ++ yield from self._handler.shutdown(2) # Parameter is timeout + if self._app: + yield from self._app.cleanup() |