kopia lustrzana https://github.com/OpenDroneMap/WebODM
Support SSL processing nodes
rodzic
a1f74c6b6f
commit
53d1d3ccb4
|
@ -17,13 +17,13 @@ class ApiClient:
|
||||||
self.timeout = timeout
|
self.timeout = timeout
|
||||||
|
|
||||||
def url(self, url, query = {}):
|
def url(self, url, query = {}):
|
||||||
netloc = self.host if self.port == 80 else "{}:{}".format(self.host, self.port)
|
netloc = self.host if (self.port == 80 or self.port == 443) else "{}:{}".format(self.host, self.port)
|
||||||
|
proto = 'https' if self.port == 443 else 'http'
|
||||||
|
|
||||||
if len(self.token) > 0:
|
if len(self.token) > 0:
|
||||||
query['token'] = self.token
|
query['token'] = self.token
|
||||||
|
|
||||||
# TODO: https support
|
return urlunparse((proto, netloc, url, '', urlencode(query), ''))
|
||||||
return urlunparse(('http', netloc, url, '', urlencode(query), ''))
|
|
||||||
|
|
||||||
def info(self):
|
def info(self):
|
||||||
return requests.get(self.url('/info'), timeout=self.timeout).json()
|
return requests.get(self.url('/info'), timeout=self.timeout).json()
|
||||||
|
|
|
@ -157,6 +157,10 @@ class TestClientApi(TestCase):
|
||||||
# Task has been deleted
|
# Task has been deleted
|
||||||
self.assertRaises(ProcessingError, online_node.get_task_info, uuid)
|
self.assertRaises(ProcessingError, online_node.get_task_info, uuid)
|
||||||
|
|
||||||
|
# Test URL building for HTTPS
|
||||||
|
sslApi = ApiClient("localhost", 443, 'abc')
|
||||||
|
self.assertEqual(sslApi.url('/info'), 'https://localhost/info?token=abc')
|
||||||
|
|
||||||
def test_find_best_available_node_and_is_online(self):
|
def test_find_best_available_node_and_is_online(self):
|
||||||
# Fixtures are all offline
|
# Fixtures are all offline
|
||||||
self.assertTrue(ProcessingNode.find_best_available_node() is None)
|
self.assertTrue(ProcessingNode.find_best_available_node() is None)
|
||||||
|
|
Ładowanie…
Reference in New Issue