OpenAPITools / OpenAPITools/openapi-generator

[REQ] Alternative TLS libraries for rust --library hyper

Open
#11,197 3 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Enhancement: Feature
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.

Currently, upon running with

    --generator-name rust \
    --library hyper \

the generated client's Cargo.toml declares a dependency on hyper-tls.
This, in turn, depends on the system tls lib (libssl-dev/openssl-dev).
Instead, I'd prefer to be able to specify a dependency on alternative TLS libraries (specifically, hyper-rustls).

Describe the solution you'd like

Some new flag to --additional-properties/configOptions to select which TLS library to use for hyper.
That flag would be documented on https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/rust.md

Describe alternatives you've considered

sed -i "s/hyper-tls.*/hyper-rustls = \"${HYPER_RUSTLS_VERSION}\"/g" "${CARGO_TOML}"

is what I'm trying right now; no promises that that even works 😭

Additional context

__

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Rust generator's handling of --additional-properties/configOptions and the generated Cargo.toml dependency on hyper-tls. Review docs/generators/rust.md for the existing options, then determine how a TLS-library selection should be exposed and documented. Done means generating a hyper client can select hyper-rustls instead of hyper-tls without the sed workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.