From 24327c82838b640e2123bd156502d7a210ac193d Mon Sep 17 00:00:00 2001 From: Pedro de Oliveira Guedes Date: Tue, 4 Jan 2022 11:31:54 -0300 Subject: [PATCH] Starting the client. --- api/chrome/cli.py | 70 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 api/chrome/cli.py diff --git a/api/chrome/cli.py b/api/chrome/cli.py new file mode 100644 index 0000000..24b22ca --- /dev/null +++ b/api/chrome/cli.py @@ -0,0 +1,70 @@ +import json +import os + +import requests + +class Chrome: + """ + ## Instância do Chrome + --- + Esta classe utiliza o serviço "svc_chrome.exe" para fazer manipulações no navegador. + + Ela mapeia o robo através da propriedade rid. + + "EP" significa endpoint, e aponta para o endereco na web on se hostea o serviço, por padrão é: + + https://localhost:8443 + """ + + ep: str = "" + + def __init__(self): + self.ep = "https://localhost:8443" + + def __requestget__(self, data: str): + + """ + ## HTTP GET + --- + Este método é responsável por realizar requisições HTTP do tipo GET. + + 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. + """ + + 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}") + if res.headers.get("Content-Type") != None and res.headers.get("Content-Type").find("json") != -1: + return json.loads(res.text) + else: + return res.text + + def __requestpost__(self, data: str, object: dict): + + """ + ## HTTP POST + --- + Este método é responsável por realizar requisições HTTP do tipo POST. + + 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. + """ + + url = self.ep + data + print("Calling: " + url) + + apikey = os.environ.get('REPLAY_APIKEY') + headers = {"X-API-KEY": apikey} + res = requests.post(url, json = object, headers = headers, verify = False) + + if res.status_code >= 400: + raise Exception(f"HTTP ERROR: {str(res.status_code)} - {res.text}") + if res.headers.get("Content-Type") != None and res.headers.get("Content-Type").find("json") != -1: + return json.loads(res.text) + else: + return res.text \ No newline at end of file