This commit is contained in:
2024-08-20 16:54:47 +08:00
parent 96d964361e
commit b6891b7146

View File

@ -17,7 +17,7 @@ def read_binay(io):
def new_map():
return Literal({})
def set_map(map: dict, key, value):
def set_map_value(map: dict, key, value):
map[key] = value
return map
@ -50,18 +50,6 @@ class Workflow(Blackbox):
async def processing(self, *args, **kwargs):
request = args[0]
content_type = request.headers.get("Content-Type")
if re.match(r"application/json", content_type) is not None:
return await self.handler_with_json_mode(request)
elif re.match(r"multipart/form-data", content_type) is not None:
return await self.handler_with_formdata_mode(request)
return Response(content="Invalid content type", status_code=400)
def valid(self, *args, **kwargs) -> bool:
return super().valid(*args, **kwargs)
# json mode 保留 script 字段給 runtime 解析
async def handler_with_json_mode(self,request: Request):
json = await request.json()
content = None
mdeia_type = None
@ -75,7 +63,7 @@ class Workflow(Blackbox):
def add_header(key, value):
nonlocal headers
headers[key] = value
script = json["script"]
script = request.query_params["script"]
t = Tokenizer()
t.init(script)
runtime = Runtime(
@ -83,7 +71,7 @@ class Workflow(Blackbox):
exteral_fun={
"print": print,
"new_map": new_map,
"set_map": set_map,
"set_map_value": set_map_value,
"get_map_value": get_map_value,
"set_content": set_content,
"set_media_type": set_media_type,
@ -96,11 +84,10 @@ class Workflow(Blackbox):
ast = program_parser(t)
ast.exec(runtime)
return Response(content=content, media_type=mdeia_type, headers=headers)
# formdata mode 保留 script 字段給 runtime 解析
async def handler_with_formdata_mode(self,request: Request):
json = await request.json()
print("form")
def valid(self, *args, **kwargs) -> bool:
return super().valid(*args, **kwargs)
async def fast_api_handler(self, request: Request):
return await self.processing(request)