Created by: grokify
PR checklist
-
Read the contribution guidelines. -
Ran the shell script under ./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
and./bin/security/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
. -
Filed the PR against the correct branch: master
,3.1.x
,4.0.x
. Default:master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language.
@antihax @bvwells
Description of the PR
When a parameter in formData
with type file
is sent, the parameter name is hardcoded to file
but it should be set to the parameter name because it needs to be used in the MIME multipart/form-data
Content-Disposition
header. As an example, if an API requires the following and the parameter name is set to attachment
in the spec, APIClient.prepareRequest
will still set name
to be hardcoded to file
.
Content-Disposition: form-data; name="attachment"; filename="myfile.pdf"
This issue is described in more detail here:
- https://github.com/OpenAPITools/openapi-generator/issues/505
- https://github.com/grokify/go-ringcentral/issues/16
localVarFormFileName
was select as the variable name to hold this info because it aligns with localVarFormParams
and the name is specifically associated with the file, e.g. localVarFileName
and localVarFileBytes
. It is also more inline with Go's FormFile
in CreateFormFile
.
This PR solves the immediate issue of not using the parameter name. A future enhancement will be to support an array of files per parameter and multiple file parameters.