fastify-multipart icon indicating copy to clipboard operation
fastify-multipart copied to clipboard

Strange behaviour with request.file() when filename in form is not specified

Open giovanni-bertoncelli opened this issue 6 months ago • 1 comments

Prerequisites

  • [X] I have written a descriptive issue title
  • [X] I have searched existing issues to ensure the bug has not already been reported

Fastify version

4.23.2

Plugin version

8.1.0

Node.js version

20.x

Operating system

macOS

Operating system version (i.e. 20.04, 11.3, 10)

Sonoma 14.2

Description

I encountered a strange behavior in the request.file() method when I send a multipart (using form-auto-content) without specifying the filename of the sent file. The method returns undefined. I do not know if it is a form-auto-content issue, if this is the expected behaviour or not. If it is expected I'll close this.

Steps to Reproduce

Reproduction example: https://codesandbox.io/p/devbox/fastify-multipart-filename-nxnqgd

  • Setup a fastify server with the @fastify/multipart plugin with a route calling req.file()
  • Setup a simple client using form-auto-content and appending a file specifying the contentType but not the filename
  • Call the endpoint

Expected Behavior

I expect an error (if multipart with part missing the filename are considered malformed) or otherwise the parsed file.

giovanni-bertoncelli avatar Jan 22 '24 15:01 giovanni-bertoncelli

For now, we definitely don’t throw in many cases where we maybe should, this could be an interesting change that I support

Silent errors should be opt-in

gurgunday avatar Jan 28 '24 11:01 gurgunday