Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
TypeSpec Client Runtime
This is the runtime for TypeSpec-generated clients.
Features
debug: enables extra information for developers e.g., emitting all fields instd::fmt::Debugimplementation.decimal: enables support forrust_decimal::Decimaltype.derive: enable derive macros e.g.,SafeDebug.http(default): enables HTTP support.json(default): enables JSON support.reqwest(default): enables and setsreqwestas the defaultHttpClient. Enablesreqwest'snative-tlsfeature.reqwest_deflate(default): enables deflate compression forreqwest.reqwest_gzip(default): enables gzip compression forreqwest.reqwest_native-tls(default): enablesreqwest'snative-tlsfeature, which uses schannel on Windows and openssl elsewhere.tokio: enables and setstokioas the default async runtime.wasm_bindgen: enables the async runtime for WASM.xml: enables XML support.
Troubleshooting
Logging
To help protected end users from accidental Personally-Identifiable Information (PII) from leaking into logs or traces, models' default implementation of core::fmt::Debug formats as non-exhaustive structure tuple e.g.,
use SafeDebug;
let p = Person ;
println!;
By default this will print:
Person { .. }
Though not recommended for production, you can enable normal core::fmt::Debug formatting complete with field names and values by enabling the debug feature of typespec_client_core e.g.,
Known issues
Hang when invoking multiple HTTP operations using the default HTTP transport
Some customers have reported hangs when using the default reqwest HTTP transport.
The issue is tracked in this GitHub issue.
The recommended workaround is to disable connection pooling in a custom reqwest transport.
If you are encountering this issue, you can construct an HttpClient which disables HTTP connection pooling
and set that as the transport in any ClientOptions used to configure your clients:
use Arc;
use ;
let client = new;
let options = ClientOptions ;
Note that implementing this workaround can result in a significant performance slowdown depending on your scenario.
Contributing
See the [CONTRIBUTING.md] for details on building, testing, and contributing to these libraries.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://opensource.microsoft.com/cla/.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the [Microsoft Open Source Code of Conduct]. For more information see the [Code of Conduct FAQ] or contact opencode@microsoft.com with any additional questions or comments.