diff --git a/bin/rust-petstore.sh b/bin/rust-petstore.sh
index d5aceb82af66..bee0348ca066 100755
--- a/bin/rust-petstore.sh
+++ b/bin/rust-petstore.sh
@@ -40,7 +40,7 @@ for spec_path in \
--input-spec $spec_path
--generator-name rust
--output samples/client/petstore/rust/$library/$spec
- --additional-properties packageName=${spec}-${library}
+ --additional-properties packageName=${spec}-${library},supportAsync=false
--library=$library $@"
java ${JAVA_OPTS} -jar ${executable} ${args} || exit 1
done
diff --git a/docs/generators/rust.md b/docs/generators/rust.md
index b59b31471f0c..951aa94f55ae 100644
--- a/docs/generators/rust.md
+++ b/docs/generators/rust.md
@@ -6,10 +6,10 @@ sidebar_label: rust
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|
-|library|library template (sub-template) to use.|
- **hyper**
- HTTP client: Hyper.
- **reqwest**
- HTTP client: Reqwest.
|hyper|
+|library|library template (sub-template) to use.|- **hyper**
- HTTP client: Hyper.
- **reqwest**
- HTTP client: Reqwest.
|reqwest|
|packageName|Rust package name (convention: lowercase).| |openapi|
|packageVersion|Rust package version.| |1.0.0|
-|supportAsync|If set, generate async function call instead| |false|
+|supportAsync|If set, generate async function call instead. This option is for 'reqwest' library only| |true|
|useSingleRequestParameter|Setting this property to true will generate functions with a single argument containing all API endpoint parameters instead of one argument per parameter.| |false|
## IMPORT MAPPING
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java
index 3ff2bfe8569c..31d4610f86ca 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java
@@ -39,7 +39,7 @@
public class RustClientCodegen extends DefaultCodegen implements CodegenConfig {
private static final Logger LOGGER = LoggerFactory.getLogger(RustClientCodegen.class);
private boolean useSingleRequestParameter = false;
- private boolean supportAsync = false;
+ private boolean supportAsync = true;
public static final String PACKAGE_NAME = "packageName";
public static final String PACKAGE_VERSION = "packageVersion";
@@ -173,18 +173,18 @@ public RustClientCodegen() {
.defaultValue(Boolean.TRUE.toString()));
cliOptions.add(new CliOption(CodegenConstants.USE_SINGLE_REQUEST_PARAMETER, CodegenConstants.USE_SINGLE_REQUEST_PARAMETER_DESC, SchemaTypeUtil.BOOLEAN_TYPE)
.defaultValue(Boolean.FALSE.toString()));
- cliOptions.add(new CliOption(SUPPORT_ASYNC, "If set, generate async function call instead", SchemaTypeUtil.BOOLEAN_TYPE)
- .defaultValue(Boolean.FALSE.toString()));
+ cliOptions.add(new CliOption(SUPPORT_ASYNC, "If set, generate async function call instead. This option is for 'reqwest' library only", SchemaTypeUtil.BOOLEAN_TYPE)
+ .defaultValue(Boolean.TRUE.toString()));
supportedLibraries.put(HYPER_LIBRARY, "HTTP client: Hyper.");
supportedLibraries.put(REQWEST_LIBRARY, "HTTP client: Reqwest.");
CliOption libraryOption = new CliOption(CodegenConstants.LIBRARY, "library template (sub-template) to use.");
libraryOption.setEnum(supportedLibraries);
- // set hyper as the default
- libraryOption.setDefault(HYPER_LIBRARY);
+ // set reqwest as the default
+ libraryOption.setDefault(REQWEST_LIBRARY);
cliOptions.add(libraryOption);
- setLibrary(HYPER_LIBRARY);
+ setLibrary(REQWEST_LIBRARY);
}
@Override