forked from Hay1tsme/artemis
diva: fix render_POST
This commit is contained in:
parent
c6f2f7e0ef
commit
257b0dae87
@ -79,12 +79,12 @@ class DivaServlet(BaseServlet):
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def render_POST(self, request: Request, game_code: str, matchers: Dict) -> bytes:
|
async def render_POST(self, request: Request, game_code: str, matchers: Dict) -> bytes:
|
||||||
req_raw = request.content.getvalue()
|
req_raw = await request.body()
|
||||||
url_header = request.getAllHeaders()
|
url_header = request.headers
|
||||||
|
|
||||||
# Ping Dispatch
|
# Ping Dispatch
|
||||||
if "THIS_STRING_SEPARATES" in str(url_header):
|
if "THIS_STRING_SEPARATES" in url_header:
|
||||||
binary_request = req_raw.splitlines()
|
binary_request = req_raw.splitlines()
|
||||||
binary_cmd_decoded = binary_request[3].decode("utf-8")
|
binary_cmd_decoded = binary_request[3].decode("utf-8")
|
||||||
url_data = binary_cmd_decoded # for logging
|
url_data = binary_cmd_decoded # for logging
|
||||||
@ -103,13 +103,13 @@ class DivaServlet(BaseServlet):
|
|||||||
url_data = zlib.decompress(gz_string) # Decompressing the gzip
|
url_data = zlib.decompress(gz_string) # Decompressing the gzip
|
||||||
except zlib.error as e:
|
except zlib.error as e:
|
||||||
self.logger.error(f"Failed to defalte! {e} -> {gz_string}")
|
self.logger.error(f"Failed to defalte! {e} -> {gz_string}")
|
||||||
return b"stat=0"
|
return PlainTextResponse("stat=0")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
req_cls = BaseRequest(url_data)
|
req_cls = BaseRequest(url_data)
|
||||||
except DivaRequestParseException as e:
|
except DivaRequestParseException as e:
|
||||||
self.logger.error(e)
|
self.logger.error(e)
|
||||||
return b"stat=0"
|
return PlainTextResponse("stat=0")
|
||||||
|
|
||||||
self.logger.debug(f"Request: {url_data}\nHeaders: {url_header}")
|
self.logger.debug(f"Request: {url_data}\nHeaders: {url_header}")
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
@ -120,7 +120,7 @@ class DivaServlet(BaseServlet):
|
|||||||
|
|
||||||
if not hasattr(self.base, handler_str):
|
if not hasattr(self.base, handler_str):
|
||||||
self.logger.warn(f"Unhandled cmd {req_cls.cmd}")
|
self.logger.warn(f"Unhandled cmd {req_cls.cmd}")
|
||||||
return BaseResponse(req_cls.cmd, req_cls.req_id).make().encode()
|
return PlainTextResponse(BaseResponse(req_cls.cmd, req_cls.req_id).make())
|
||||||
|
|
||||||
handler = getattr(self.base, handler_str)
|
handler = getattr(self.base, handler_str)
|
||||||
|
|
||||||
@ -132,4 +132,4 @@ class DivaServlet(BaseServlet):
|
|||||||
response = f"cmd={req_cls.cmd}&req_id={req_cls.req_id}&stat=ok" + response
|
response = f"cmd={req_cls.cmd}&req_id={req_cls.req_id}&stat=ok" + response
|
||||||
|
|
||||||
self.logger.debug(f"Response: {response}")
|
self.logger.debug(f"Response: {response}")
|
||||||
return response.encode(errors="ignore")
|
return PlainTextResponse(response)
|
||||||
|
Loading…
Reference in New Issue
Block a user