http服务,异常导出接口
This commit is contained in:
parent
427f28bd57
commit
c10b1e114d
@ -1,3 +1,11 @@
|
||||
import time
|
||||
from queue import SimpleQueue
|
||||
|
||||
MESSAGE_QUEUE = SimpleQueue()
|
||||
MESSAGE_QUEUE: "SimpleQueue[MessagePayload]" = SimpleQueue()
|
||||
|
||||
|
||||
class MessagePayload(object):
|
||||
def __init__(self, body: bytes, timestamp: str = ""):
|
||||
self.request_timestamp = timestamp
|
||||
self.body = body
|
||||
self.curretnt_timestamp = time.time()
|
||||
|
@ -1,5 +1,5 @@
|
||||
from flask import Flask, request, Response
|
||||
from handler.common import MESSAGE_QUEUE
|
||||
from handler.common import MESSAGE_QUEUE, MessagePayload
|
||||
import logging
|
||||
log = logging.getLogger('werkzeug')
|
||||
log.setLevel(logging.ERROR)
|
||||
@ -10,6 +10,6 @@ app.config['JSON_AS_ASCII'] = False
|
||||
|
||||
@app.post("/message")
|
||||
def message_from_mitmproxy():
|
||||
payload = request.data
|
||||
payload = MessagePayload(request.data, request.headers.get("X-MITM-TS", ""))
|
||||
MESSAGE_QUEUE.put(payload)
|
||||
return Response(status=204)
|
@ -16,18 +16,16 @@ from output import OUTPUTER
|
||||
def loop_queue():
|
||||
while True:
|
||||
message = MESSAGE_QUEUE.get()
|
||||
if type(message) == str:
|
||||
message = message.encode("UTF-8")
|
||||
try:
|
||||
response = message_pb2.Response()
|
||||
wss = wss_pb2.WssResponse()
|
||||
wss.ParseFromString(message)
|
||||
wss.ParseFromString(message.body)
|
||||
decompressed = gzip.decompress(wss.data)
|
||||
response.ParseFromString(decompressed)
|
||||
decodeMsg(response.messages)
|
||||
except Exception as e:
|
||||
# 发出去的信息无法解析
|
||||
pass
|
||||
for output in OUTPUTER:
|
||||
output.error_output("ParseError", message.body, e)
|
||||
|
||||
def decodeMsg(messages):
|
||||
for message in messages:
|
||||
@ -62,7 +60,14 @@ def decodeMsg(messages):
|
||||
room_user_seq_message.set_payload(message.payload)
|
||||
for output in OUTPUTER:
|
||||
output.userseq_output(room_user_seq_message)
|
||||
elif message.method == 'WebcastControlMessage':
|
||||
control_message = ControlMessage()
|
||||
control_message.set_payload(message.payload)
|
||||
for output in OUTPUTER:
|
||||
output.control_output(control_message)
|
||||
else:
|
||||
...
|
||||
for output in OUTPUTER:
|
||||
output.other_output(message.method, message.payload)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
for output in OUTPUTER:
|
||||
output.error_output(message.method, message.payload, e)
|
||||
|
Reference in New Issue
Block a user