OpenAPITools / OpenAPITools/openapi-generator
[REQ] [C] C client improvements
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 26.8k
- Forks
- 7.7k
- PR merge metrics
- PR metrics pending
Description
Is your feature request related to a problem? Please describe.
-
i dont think the c client should print messages upon responses or errors.
see https://github.com/OpenAPITools/openapi-generator/blob/3656ec5260e7a849e9cafd55a1447f56162a90eb/modules/openapi-generator/src/main/resources/C-libcurl/api-body.mustache#L330 and https://github.com/OpenAPITools/openapi-generator/blob/3656ec5260e7a849e9cafd55a1447f56162a90eb/modules/openapi-generator/src/main/resources/C-libcurl/apiClient.c.mustache#L546 -
error handling for libcurl curl_easy_perform is very poor and could be improved.
Describe the solution you'd like
- printing should be removed from the C-libcurl generator. the user of the library should be able to decide when and what to print.
- error handling should be improved. when curl_easy_perform returns something other than CURLE_OK, the caller should be provided some way to retrieve error information from the api call. currently, an empty structure is returned and caller has no way to know an error occurred (besides the printed message). for example, the error could be placed into the api client structure, like the response code is.
Describe alternatives you've considered
Additional context
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the C-libcurl templates at api-body.mustache around line 330 and apiClient.c.mustache around line 546, then inspect how curl_easy_perform errors are handled. Done means generated clients no longer print response or error messages and callers can retrieve information when curl_easy_perform fails.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- api, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100