diff options
author | Jonathan Weth <git@jonathanweth.de> | 2021-06-28 11:01:45 +0200 |
---|---|---|
committer | Jonathan Weth <git@jonathanweth.de> | 2021-06-28 11:01:45 +0200 |
commit | 9ec08cbc84b01ce82f58892556637d8934ede0a5 (patch) | |
tree | e0b3642801305d60f45359b5c9364f5a5318ba18 /rwa/support/sessionservice/session.py | |
parent | 3526def9614ac5275f176a42938d11736233f108 (diff) | |
download | RWA.Support.SessionService-9ec08cbc84b01ce82f58892556637d8934ede0a5.tar.gz RWA.Support.SessionService-9ec08cbc84b01ce82f58892556637d8934ede0a5.tar.bz2 RWA.Support.SessionService-9ec08cbc84b01ce82f58892556637d8934ede0a5.zip |
Support multiple hosts
Diffstat (limited to 'rwa/support/sessionservice/session.py')
-rw-r--r-- | rwa/support/sessionservice/session.py | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/rwa/support/sessionservice/session.py b/rwa/support/sessionservice/session.py index e603568..81584ea 100644 --- a/rwa/support/sessionservice/session.py +++ b/rwa/support/sessionservice/session.py @@ -35,20 +35,10 @@ import port_for import psutil import requests -from .config import settings from .lock import TEMP_DIR_PATH from .log import logging from .vnc import run_vnc, save_password -API_SERVER = settings.get("api_url", "http://127.0.0.1") -BASE_URL = API_SERVER + "/app/rwasupport/api/" -REGISTER_URL = BASE_URL + "register/" -STOP_URL = BASE_URL + "stop/" -STATUS_URL = BASE_URL + "status/" -MARK_JOB_AS_DONE_URL = BASE_URL + "jobs/mark_as_done/" - -logging.info(f"Load API config: {API_SERVER}") - def random_digits(length: int): return "".join(secrets.choice(string.digits) for _ in range(length)) @@ -67,7 +57,15 @@ class Session: #: Remote has joined the session STATUS_JOINED = "active" - def __init__(self, trigger_port: int, mockup_session: bool = False): + def __init__(self, host: str, trigger_port: int, mockup_session: bool = False): + self.host = host + self.BASE_URL = self.host + "/app/rwasupport/api/" + self.REGISTER_URL = self.BASE_URL + "register/" + self.STOP_URL = self.BASE_URL + "stop/" + self.STATUS_URL = self.BASE_URL + "status/" + self.MARK_JOB_AS_DONE_URL = self.BASE_URL + "jobs/mark_as_done/" + logging.info(f"Load API config: {self.host}") + self.trigger_token = secrets.token_urlsafe(20) self.trigger_port = trigger_port self.done_jobs = [] @@ -136,7 +134,7 @@ class Session: if not self.mockup_session: try: r = requests.post( - REGISTER_URL, + self.REGISTER_URL, json={ "port": self.ws_port, "pid": self.vnc_pid, @@ -185,7 +183,7 @@ class Session: if not self.mockup_session: try: r = requests.get( - STATUS_URL, params={"id": self.session_id}, headers=self._api_headers + self.STATUS_URL, params={"id": self.session_id}, headers=self._api_headers ) logging.info( @@ -222,7 +220,7 @@ class Session: self.done_jobs.append(job["job_id"]) try: r = requests.post( - MARK_JOB_AS_DONE_URL, params={"id": job["job_id"]}, headers=self._api_headers, + self.MARK_JOB_AS_DONE_URL, params={"id": job["job_id"]}, headers=self._api_headers, ) logging.info( f"The session has marked the job {job} as done in RWA.Support.WebApp " @@ -266,7 +264,7 @@ class Session: if not triggered: try: r = requests.post( - STOP_URL, params={"id": self.session_id}, headers=self._api_headers + self.STOP_URL, params={"id": self.session_id}, headers=self._api_headers ) logging.info( "The stop action has been registered in RWA.Support.WebApp " |