From cacd8dbab8d38a885a824c8c72486ee1c3cf23a7 Mon Sep 17 00:00:00 2001 From: nolash Date: Thu, 11 Nov 2021 16:38:05 +0100 Subject: [PATCH] Add settable origin to http session instantiation --- clicada/cli/arg.py | 4 ++-- clicada/cli/http.py | 9 ++++++--- clicada/data/config/config.ini | 2 ++ clicada/runnable/view.py | 2 +- setup.cfg | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/clicada/cli/arg.py b/clicada/cli/arg.py index 1607105..1380bb6 100644 --- a/clicada/cli/arg.py +++ b/clicada/cli/arg.py @@ -50,7 +50,7 @@ class CmdCtrl: self.remote_openers = {} if self.get('META_URL') != None: auth_client_session = PGPClientSession(self.__auth) - self.remote_openers['meta'] = HTTPSession(self.get('META_URL'), auth=auth_client_session) + self.remote_openers['meta'] = HTTPSession(self.get('META_URL'), auth=auth_client_session, origin=self.config.get('META_HTTP_ORIGIN')) def blockchain(self): @@ -113,7 +113,7 @@ class CmdCtrl: typ = self.get('AUTH_TYPE') if typ != 'gnupg': raise NotImplementedError('Valid aut implementations are: gnupg') - default_auth_db_path = os.path.join(os.environ['HOME'], '.clicada/auth') + default_auth_db_path = os.path.join(os.environ['HOME'], '.local/share/cic/clicada') auth_db_path = self.get('AUTH_DB_PATH', default_auth_db_path) self.__auth = PGPAuthCrypt(auth_db_path, self.get('AUTH_KEY'), self.get('AUTH_KEYRING_PATH')) self.__auth.get_secret(self.get('AUTH_PASSPHRASE')) diff --git a/clicada/cli/http.py b/clicada/cli/http.py index 387aa5a..0ae7dda 100644 --- a/clicada/cli/http.py +++ b/clicada/cli/http.py @@ -45,12 +45,15 @@ class HTTPSession: token_dir = '/run/user/{}/clicada/usumbufu/.token'.format(os.getuid()) - def __init__(self, url, auth=None): - logg.debug('auth auth {}'.format(auth)) + def __init__(self, url, auth=None, origin=None): self.base_url = url url_parts = urllib.parse.urlsplit(self.base_url) url_parts_origin = (url_parts[0], url_parts[1], '', '', '',) - self.origin = urllib.parse.urlunsplit(url_parts_origin) + self.origin = origin + if self.origin == None: + self.origin = urllib.parse.urlunsplit(url_parts_origin) + else: + logg.debug('overriding http origin for {} with {}'.format(url, self.origin)) h = hashlib.sha256() h.update(self.base_url.encode('utf-8')) diff --git a/clicada/data/config/config.ini b/clicada/data/config/config.ini index b2621db..d890d2a 100644 --- a/clicada/data/config/config.ini +++ b/clicada/data/config/config.ini @@ -1,12 +1,14 @@ [meta] lookup_method = phone url = +http_origin = [filestore] ttl = 86400 [tx] cache_url = +http_origin = [cic] registry_address = diff --git a/clicada/runnable/view.py b/clicada/runnable/view.py index f8edb09..8355597 100644 --- a/clicada/runnable/view.py +++ b/clicada/runnable/view.py @@ -16,4 +16,4 @@ def main(): if __name__ == '__main__': - main(ctrl) + main() diff --git a/setup.cfg b/setup.cfg index 4e6c7e3..861252f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clicada -version = 0.0.1a7 +version = 0.0.1a8 description = CLI CRM tool for the cic-stack custodial wallet system author = Louis Holbrook author_email = dev@holbrook.no