aboutsummaryrefslogtreecommitdiffstats
path: root/community/gns3-server/aiohttp-support.patch
diff options
context:
space:
mode:
authorFrancesco Colista <fcolista@alpinelinux.org>2017-12-18 15:12:05 +0000
committerFrancesco Colista <fcolista@alpinelinux.org>2017-12-18 15:12:05 +0000
commit0d44bca5f6170a245426d62baeb0d7fab4371f6c (patch)
tree52613004f86fe8cd655adf3257f22a49e0003f42 /community/gns3-server/aiohttp-support.patch
parent50c5e2f32519a20c2bdcb3e7cf03ff93fef34297 (diff)
downloadaports-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.patch61
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()