replaycli-py/api/chrome/cli.py

70 lines
2.2 KiB
Python
Raw Normal View History

2022-01-04 14:31:54 +00:00
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