diff --git a/api/chrome/cli.py b/api/chrome/cli.py index 1a0b590..bfce2d7 100644 --- a/api/chrome/cli.py +++ b/api/chrome/cli.py @@ -47,6 +47,31 @@ class Chrome: else: return res.text + def __request_json_get__(self, data: str): + + """ + ## HTTP JSON GET + --- + Este método é responsável por realizar requisições HTTP do tipo GET para objetos JSON. + + Ele retorna o corpo de resposta da requisição, ou uma mensagem de erro, que indica qual foi a irregularidade ocorrida ao chamar a API. + + --- + ###### Obs: É uma função provisória, feita exclusivamente para o método open_tabs, já que o HEADER do corpo de resposta da requisição tem o atributo "Content-Type" com o valor "text/plain", ao invés de "application/json" como deveria ser. + """ + + url = self.ep + data + print("Calling: " + url) + + apikey = os.environ.get('REPLAY_APIKEY') + headers = {"X-API-KEY": apikey} + res = requests.get(url, headers=headers, verify=False) + + if res.status_code >= 400: + raise Exception(f"HTTP ERROR: {str(res.status_code)} - {res.text}") + else: + return res.json() + def __request_json_post__(self, path: str, object: dict): """ @@ -261,5 +286,5 @@ class Chrome: -> Lista de dicionários com o nome das abas e outras informações sobre as mesmas. """ - ret = self.__request_get__("/ipc/chrome/opentabs") + ret = self.__request_json_get__("/ipc/chrome/opentabs") return ret \ No newline at end of file