[BUG] [Python] _headers is not initialized properly for delete functions
Bug Report Checklist
- [x] Have you provided a full/minimal spec to reproduce the issue?
- [x] Have you validated the input using an OpenAPI validator (example)?
- [ ] Have you tested with the latest master to confirm the issue still exists?
- [x] Have you searched for related issues/PRs?
- [x] What's the actual output vs expected output?
- [ ] [Optional] Sponsorship to speed up the bug fix or feature request (example)
Description
When deleting objects using the new python generator, an error occurs in api_client.py update_params_for_auth():
AttributeError: 'dict' object has no attribute 'add'
This error can be traced back to the paths/{my api}/delete.py file, where the following line is missing unlike the other files (get.py, put.py, ...):
_headers = HTTPHeaderDict()
This results in the variable headers becoming an empty dict in api_client.py __call_api():
headers = headers or {}
openapi-generator version
6.2.0
OpenAPI declaration file content or url
Generation Details
java -jar openapi-generator-cli-6.2.0.jar generate -i openapi.yaml -g python -o python
Steps to reproduce
Related issues/PRs
Suggest a fix
Either the missing line needs to be added to delete.py:
https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/python/endpoint.handlebars#L316
or the headers should be initialized as HTTPHeaderDict
Maybe this was fixed by https://github.com/OpenAPITools/openapi-generator/pull/13665
Is there still an underlying issue that the line _headers = HTTPHeaderDict() is not generated for delete.py and it only works because of the fallback in api_client.py __call_api()?
If not, feel free to close this issue.
Yes that was fixed in the PR that you linked to. In 6.2.1 or the latest version of the project, this should be fixed.