Skip to content

Added cpp httplib server codegen #21672

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

rajvesh
Copy link

@rajvesh rajvesh commented Jul 31, 2025

Introduces:

  • Code generation for cpp httplib server
  • API and model namespace customization.
  • Custom project naming
  • Pure virtual functions with request model arguments for custom logic
  • apiNamespace, modelNamespace, projectName as additionalProperties
  • CMake library integration
  • Auto-generated API model usage README

To close #21466

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package || exit
    ./bin/generate-samples.sh ./bin/configs/*.yaml || exit
    ./bin/utils/export_docs_generators.sh || exit
    
    (For Windows users, please run the script in WSL)
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
  • File the PR against the correct branch: master (upcoming 7.x.0 minor release - breaking changes with fallbacks), 8.0.x (breaking changes without fallbacks)
  • If your PR solves a reported issue, reference it using GitHub's linking syntax (e.g., having "fixes #123" present in the PR description)
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

@rajvesh
Copy link
Author

rajvesh commented Aug 1, 2025

Hello @wing328,
Could you or anyone from technical committee can review and approve the workflow for this PR?
Thank you.

@wing328 wing328 changed the title fixes #21466 Added httplib server codegen Added httplib server codegen Aug 1, 2025
@wing328 wing328 added this to the 7.15.0 milestone Aug 1, 2025
@wing328
Copy link
Member

wing328 commented Aug 1, 2025

thanks for contributing a new generator

can you please a github workflow and samples generated from the new generator similar to what we did in https://github.com/OpenAPITools/openapi-generator/pull/21547/files ?

@wing328 wing328 changed the title Added httplib server codegen Added cpp httplib server codegen Aug 1, 2025
@rajvesh rajvesh force-pushed the httplib-server-codegen branch from 71898ed to 654865b Compare August 4, 2025 18:34
@rajvesh rajvesh closed this Aug 4, 2025
@rajvesh rajvesh reopened this Aug 4, 2025
@rajvesh
Copy link
Author

rajvesh commented Aug 4, 2025

Hello @wing328,
I have updated the requested changes.
Commit ID: 654865b
I see some issue in this branch:
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Please let me know if any further changes are required. Request you or team to review the changes.

Thank you.

@rajvesh rajvesh force-pushed the httplib-server-codegen branch from 542a3c5 to 178f105 Compare August 4, 2025 19:34
@rajvesh
Copy link
Author

rajvesh commented Aug 4, 2025

Hello @wing328,
I have updated the requested changes.
Commit ID:178f1059a41275a0012ef2aa0b820a810fb6cfff
Please let me know if any further changes are required. Request you or team to review the changes.

Thank you.

@wing328
Copy link
Member

wing328 commented Aug 6, 2025

can you please review the build failure when you've time?

Introduces:
* Code generation for cpp httplib server
* API and model namespace customization.
* Custom project naming
* Pure virtual functions with request model arguments for custom logic
* apiNamespace, modelNamespace, projectName as additionalProperties
* CMake library integration
* Auto-generated API model usage README
* gitworkflkow, sample json, sample generated code is added
* Documentation for cpp-httplib-server codegen is also added.
@rajvesh rajvesh force-pushed the httplib-server-codegen branch from 178f105 to 9c31b68 Compare August 9, 2025 17:16
@@ -153,10 +153,10 @@ org.openapitools.codegen.languages.TypeScriptFetchClientCodegen
org.openapitools.codegen.languages.TypeScriptInversifyClientCodegen
org.openapitools.codegen.languages.TypeScriptJqueryClientCodegen
org.openapitools.codegen.languages.TypeScriptNestjsClientCodegen
org.openapitools.codegen.languages.TypeScriptNestjsServerCodegen
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why remove this?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I Will check. It is not intentional.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👌

please also merge the latest master into your branch when you've time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[REQ] Implement generator for cpp-httplib client/server
2 participants