From 3cc6a7f54f6fc99f9262c003110dfac389dcd372 Mon Sep 17 00:00:00 2001 From: Jonathan Harris Date: Sat, 27 Jun 2015 11:39:20 +0100 Subject: [PATCH] Set connection timeout on Companion and EDDN network interactions. --- companion.py | 8 ++++---- eddn.py | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/companion.py b/companion.py index 8f01fcb6..824a1cfc 100644 --- a/companion.py +++ b/companion.py @@ -19,6 +19,7 @@ if __debug__: from config import config holdoff = 120 # be nice +timeout = 10 # requests timeout # Map values reported by the Companion interface to names displayed in-game and recognized by trade tools @@ -112,7 +113,7 @@ class Session: raise CredentialsError() else: self.credentials = { 'email' : username, 'password' : password } - r = self.session.post('https://companion.orerve.net/user/login', data = self.credentials) + r = self.session.post('https://companion.orerve.net/user/login', data = self.credentials, timeout=timeout) if r.status_code != requests.codes.ok: self.dump(r) r.raise_for_status() @@ -131,8 +132,7 @@ class Session: return r.status_code def verify(self, code): - r = self.session.post('https://companion.orerve.net/user/confirm', - data = { 'code' : code }) + r = self.session.post('https://companion.orerve.net/user/confirm', data = {'code' : code}, timeout=timeout) r.raise_for_status() # verification doesn't actually return a yes/no, so log in again to determine state try: @@ -147,7 +147,7 @@ class Session: self.login() elif self.state == Session.STATE_AUTH: raise VerificationRequired() - r = self.session.get('https://companion.orerve.net/profile') + r = self.session.get('https://companion.orerve.net/profile', timeout=timeout) if r.status_code != requests.codes.ok: self.dump(r) diff --git a/eddn.py b/eddn.py index 6c8966d8..ab8edaf6 100644 --- a/eddn.py +++ b/eddn.py @@ -13,6 +13,8 @@ from config import applongname, appversion, config upload = 'http://eddn-gateway.elite-markets.net:8080/upload/' schema = 'http://schemas.elite-markets.net/eddn/commodity/2' +timeout= 10 # requests timeout + bracketmap = { 1: 'Low', 2: 'Med', 3: 'High', } @@ -20,7 +22,7 @@ bracketmap = { 1: 'Low', def export(data): def send(msg): - r = requests.post(upload, data=json.dumps(msg)) + r = requests.post(upload, data=json.dumps(msg), timeout=timeout) if __debug__ and r.status_code != requests.codes.ok: print 'Status\t%s' % r.status_code print 'URL\t%s' % r.url