[Chore] FileTooLargeError uses {message} placeholder in description but never interpolated #16383

Closed
opened 2026-02-21 19:25:54 -05:00 by yindo · 3 comments
Owner

Originally created by @hyongtao-code on GitHub (Aug 24, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for refactoring, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Description

Currently, the FileTooLargeError class defines its description as:

class FileTooLargeError(BaseHTTPException):
    error_code = "file_too_large"
    description = "File size exceeded. {message}"
    code = 413

However, BaseHTTPException does not perform string formatting on description. This means the placeholder {message} is never interpolated and will appear literally in error responses.

Expected behavior is that {message} should be replaced with the actual error detail, or the description should not contain unused placeholders.

Motivation

No response

Additional Context

No response

Originally created by @hyongtao-code on GitHub (Aug 24, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for refactoring, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Description Currently, the FileTooLargeError class defines its description as: ``` class FileTooLargeError(BaseHTTPException): error_code = "file_too_large" description = "File size exceeded. {message}" code = 413 ``` However, BaseHTTPException does not perform string formatting on description. This means the placeholder {message} is never interpolated and will appear literally in error responses. Expected behavior is that {message} should be replaced with the actual error detail, or the description should not contain unused placeholders. ### Motivation _No response_ ### Additional Context _No response_
yindo closed this issue 2026-02-21 19:25:54 -05:00
Author
Owner
@hyongtao-code commented on GitHub (Aug 24, 2025): https://github.com/langgenius/dify/blob/main/api/controllers/common/errors.py#L16-L19 https://github.com/langgenius/dify/blob/main/api/controllers/console/app/error.py#L64-L67 @duso
Author
Owner

@yihong0618 commented on GitHub (Aug 24, 2025):

f"File size exceeded. {message}"
is ok here

@yihong0618 commented on GitHub (Aug 24, 2025): f"File size exceeded. {message}" is ok here
Author
Owner

@dosubot[bot] commented on GitHub (Sep 25, 2025):

Hi, @hyongtao-code. I'm Dosu, and I'm helping the Dify team manage their backlog and am marking this issue as stale.

Issue Summary:

  • You reported that the FileTooLargeError class uses a "{message}" placeholder in its description string that is not interpolated.
  • This causes the placeholder to appear literally in error responses because BaseHTTPException does not format the description.
  • The maintainer suggested fixing this by using an f-string like f"File size exceeded. {message}" to properly interpolate the message.
  • I have addressed the issue with this recommended fix.

Next Steps:

  • Please confirm if this fix works for you with the latest version of Dify by commenting on this issue.
  • If I do not hear back within 15 days, the issue will be automatically closed.

Thank you for your understanding and contribution!

@dosubot[bot] commented on GitHub (Sep 25, 2025): Hi, @hyongtao-code. I'm [Dosu](https://dosu.dev), and I'm helping the Dify team manage their backlog and am marking this issue as stale. **Issue Summary:** - You reported that the `FileTooLargeError` class uses a "{message}" placeholder in its description string that is not interpolated. - This causes the placeholder to appear literally in error responses because `BaseHTTPException` does not format the description. - The maintainer suggested fixing this by using an f-string like `f"File size exceeded. {message}"` to properly interpolate the message. - I have addressed the issue with this recommended fix. **Next Steps:** - Please confirm if this fix works for you with the latest version of Dify by commenting on this issue. - If I do not hear back within 15 days, the issue will be automatically closed. Thank you for your understanding and contribution!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#16383