annotate when using async

This commit is contained in:
adamoutler 2023-02-15 05:04:09 +00:00
parent 2503b8ecaa
commit 751affef70

View File

@ -14,6 +14,7 @@ from const import UTF8, REPORTING_TIMEOUT
default_request_body = b'{"message":{"command":"aidgaf","data":{"username":"AdamOutler"}}}'
request_headers = {}
class IDGAFServer(BaseHTTPRequestHandler):
""" This class handles the requests from the client. """
@ -28,7 +29,7 @@ class IDGAFServer(BaseHTTPRequestHandler):
def do_PATCH(self):
""" This function handles PATCH requests. """
body = self.get_body().decode(UTF8)
check_result=perform_sanity_checks(body)
check_result = perform_sanity_checks(body)
if check_result:
self.send_response(403)
self.end_headers()
@ -52,26 +53,28 @@ class IDGAFServer(BaseHTTPRequestHandler):
Parameters:
command: The command object received from the client. """
if not settings.ASYNC_URL:
[code,body]=self.getGPTResponse(command)
self.handle_response(code,body)
[code, body] = self.getGPTResponse(command)
self.handle_response(code, body)
return
thread = threading.Thread(target=self.send_async_request, args=(command,))
thread = threading.Thread(
target=self.send_async_request, args=(command,))
thread.start()
self.handle_response(200,json.dumps(command))
def send_async_request(self,command):
self.handle_response(200, json.dumps(command))
def send_async_request(self, command):
""" This function sends the request to the async URL. It will generate a
response and send it to the client. This function is called in a separate
thread. It will not block the main thread.
Parameters:
command: The command object received from the client. """
[code,body] = self.getGPTResponse(command)
merged=merge.merge_dict_no_overwrite(json.loads(body),command)
merged['hash']=security.get_message_hash(json.dumps(merged))
merged['service']='JavaShark'
data=json.dumps(merged)
print("using async for response")
[code, body] = self.getGPTResponse(command)
merged = merge.merge_dict_no_overwrite(json.loads(body), command)
merged['hash'] = security.get_message_hash(json.dumps(merged))
merged['service'] = 'JavaShark'
data = json.dumps(merged)
print(str(code)+": "+data)
if (code != 200):
@ -83,12 +86,10 @@ class IDGAFServer(BaseHTTPRequestHandler):
requests.put(settings.ASYNC_URL, data=data, headers=request_headers,
timeout=REPORTING_TIMEOUT)
elif (settings.ASYNC_METHOD == "PATCH"):
resp=requests.patch(settings.ASYNC_URL, data=data, headers=request_headers,
timeout=REPORTING_TIMEOUT)
resp = requests.patch(settings.ASYNC_URL, data=data, headers=request_headers,
timeout=REPORTING_TIMEOUT)
print(str(resp)+resp.text)
# gpt_response = requests.post(URL, json=data, headers=request_headers)
def getGPTResponse(self, command) -> [int, str]: