fix(files): update Content-Length handling for tool and remote files (#9649)
This commit is contained in:
@@ -42,10 +42,10 @@ class ToolFilePreviewApi(Resource):
|
|||||||
stream,
|
stream,
|
||||||
mimetype=tool_file.mimetype,
|
mimetype=tool_file.mimetype,
|
||||||
direct_passthrough=True,
|
direct_passthrough=True,
|
||||||
headers={
|
headers={},
|
||||||
"Content-Length": str(tool_file.size),
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
|
if tool_file.size > 0:
|
||||||
|
response.headers["Content-Length"] = str(tool_file.size)
|
||||||
if args["as_attachment"]:
|
if args["as_attachment"]:
|
||||||
response.headers["Content-Disposition"] = f"attachment; filename={tool_file.name}"
|
response.headers["Content-Disposition"] = f"attachment; filename={tool_file.name}"
|
||||||
|
|
||||||
|
@@ -46,7 +46,7 @@ class RemoteFileInfoApi(WebApiResource):
|
|||||||
response = ssrf_proxy.head(decoded_url)
|
response = ssrf_proxy.head(decoded_url)
|
||||||
return {
|
return {
|
||||||
"file_type": response.headers.get("Content-Type", "application/octet-stream"),
|
"file_type": response.headers.get("Content-Type", "application/octet-stream"),
|
||||||
"file_length": int(response.headers.get("Content-Length", 0)),
|
"file_length": int(response.headers.get("Content-Length", -1)),
|
||||||
}
|
}
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return {"error": str(e)}, 400
|
return {"error": str(e)}, 400
|
||||||
|
Reference in New Issue
Block a user