Merge remote-tracking branch 'upstream/main' into add-rust-actix-codegen

- Merged upstream
- Made required changes with respect to upstream
- Fixed tests
This commit is contained in:
Tanish2002
2024-03-12 16:48:43 +05:30
69 changed files with 2646 additions and 1269 deletions

View File

@ -1,5 +1,7 @@
import 'package:apidash/codegen/rust/actix.dart';
import 'package:apidash/models/models.dart' show RequestModel;
import 'package:apidash/consts.dart';
import 'package:apidash/utils/utils.dart' show getNewUuid;
import 'dart/http.dart';
import 'dart/dio.dart';
import 'kotlin/okhttp.dart';
@ -7,7 +9,6 @@ import 'python/http_client.dart';
import 'python/requests.dart';
import 'js/axios.dart';
import 'js/fetch.dart';
import 'rust/actix.dart';
import 'others/har.dart';
import 'others/curl.dart';
@ -15,36 +16,45 @@ class Codegen {
String? getCode(
CodegenLanguage codegenLanguage,
RequestModel requestModel,
String defaultUriScheme,
) {
String defaultUriScheme, {
String? boundary,
}) {
String url = requestModel.url;
if (url.isEmpty) {
url = kDefaultUri;
}
if (!url.contains("://") && url.isNotEmpty) {
url = "$defaultUriScheme://$url";
}
var rM = requestModel.copyWith(url: url);
switch (codegenLanguage) {
case CodegenLanguage.curl:
return cURLCodeGen().getCode(requestModel, defaultUriScheme);
return cURLCodeGen().getCode(rM);
case CodegenLanguage.har:
return HARCodeGen().getCode(requestModel, defaultUriScheme);
return HARCodeGen().getCode(rM, defaultUriScheme, boundary: boundary);
case CodegenLanguage.dartHttp:
return DartHttpCodeGen().getCode(requestModel, defaultUriScheme);
return DartHttpCodeGen().getCode(rM);
case CodegenLanguage.dartDio:
return DartDioCodeGen().getCode(requestModel, defaultUriScheme);
return DartDioCodeGen().getCode(rM);
case CodegenLanguage.jsAxios:
return AxiosCodeGen().getCode(requestModel, defaultUriScheme);
return AxiosCodeGen().getCode(rM);
case CodegenLanguage.jsFetch:
return FetchCodeGen().getCode(requestModel, defaultUriScheme);
return FetchCodeGen().getCode(rM);
case CodegenLanguage.nodejsAxios:
return AxiosCodeGen(isNodeJs: true)
.getCode(requestModel, defaultUriScheme);
return AxiosCodeGen(isNodeJs: true).getCode(rM);
case CodegenLanguage.nodejsFetch:
return FetchCodeGen(isNodeJs: true)
.getCode(requestModel, defaultUriScheme);
return FetchCodeGen(isNodeJs: true).getCode(rM);
case CodegenLanguage.kotlinOkHttp:
return KotlinOkHttpCodeGen().getCode(requestModel, defaultUriScheme);
return KotlinOkHttpCodeGen().getCode(rM);
case CodegenLanguage.pythonHttpClient:
return PythonHttpClientCodeGen()
.getCode(requestModel, defaultUriScheme);
.getCode(rM, boundary: boundary ?? getNewUuid());
case CodegenLanguage.pythonRequests:
return PythonRequestsCodeGen().getCode(requestModel, defaultUriScheme);
return PythonRequestsCodeGen().getCode(rM, boundary: boundary);
case CodegenLanguage.rustActix:
return RustActixCodeGen().getCode(requestModel, defaultUriScheme);
return RustActixCodeGen().getCode(rM, boundary: boundary);
}
}
}