mirror of
https://github.com/foss42/apidash.git
synced 2025-06-28 11:27:06 +08:00
Refactor codegen
This commit is contained in:
@ -18,64 +18,40 @@ class Codegen {
|
||||
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,
|
||||
boundary: boundary ?? getNewUuid(),
|
||||
);
|
||||
return PythonHttpClientCodeGen()
|
||||
.getCode(rM, boundary: boundary ?? getNewUuid());
|
||||
case CodegenLanguage.pythonRequests:
|
||||
return PythonRequestsCodeGen().getCode(
|
||||
requestModel,
|
||||
defaultUriScheme,
|
||||
boundary: boundary,
|
||||
);
|
||||
return PythonRequestsCodeGen().getCode(rM, boundary: boundary);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8,15 +8,10 @@ import 'shared.dart';
|
||||
class DartDioCodeGen {
|
||||
String? getCode(
|
||||
RequestModel requestModel,
|
||||
String defaultUriScheme,
|
||||
) {
|
||||
try {
|
||||
String url = requestModel.url;
|
||||
if (!url.contains("://") && url.isNotEmpty) {
|
||||
url = "$defaultUriScheme://$url";
|
||||
}
|
||||
final next = generatedDartCode(
|
||||
url: url,
|
||||
url: requestModel.url,
|
||||
method: requestModel.method,
|
||||
queryParams: requestModel.enabledParamsMap,
|
||||
headers: requestModel.enabledHeadersMap,
|
||||
|
@ -9,15 +9,10 @@ import 'shared.dart';
|
||||
class DartHttpCodeGen {
|
||||
String? getCode(
|
||||
RequestModel requestModel,
|
||||
String defaultUriScheme,
|
||||
) {
|
||||
try {
|
||||
String url = requestModel.url;
|
||||
if (!url.contains("://") && url.isNotEmpty) {
|
||||
url = "$defaultUriScheme://$url";
|
||||
}
|
||||
final next = generatedDartCode(
|
||||
url: url,
|
||||
url: requestModel.url,
|
||||
method: requestModel.method,
|
||||
queryParams: requestModel.enabledParamsMap,
|
||||
headers: {...requestModel.enabledHeadersMap},
|
||||
|
@ -73,7 +73,6 @@ async function buildFormData(fields) {
|
||||
''';
|
||||
String? getCode(
|
||||
RequestModel requestModel,
|
||||
String defaultUriScheme,
|
||||
) {
|
||||
try {
|
||||
jj.Template kNodejsImportTemplate = jj.Template(kStringImportNode);
|
||||
@ -91,17 +90,14 @@ async function buildFormData(fields) {
|
||||
result += renderedMultiPartBody;
|
||||
}
|
||||
|
||||
String url = requestModel.url;
|
||||
if (!url.contains("://") && url.isNotEmpty) {
|
||||
url = "$defaultUriScheme://$url";
|
||||
}
|
||||
var rM = requestModel.copyWith(url: url);
|
||||
|
||||
var harJson = requestModelToHARJsonRequest(rM, useEnabled: true);
|
||||
var harJson = requestModelToHARJsonRequest(
|
||||
requestModel,
|
||||
useEnabled: true,
|
||||
);
|
||||
|
||||
var templateStart = jj.Template(kTemplateStart);
|
||||
result += templateStart.render({
|
||||
"url": stripUrlParams(url),
|
||||
"url": stripUrlParams(requestModel.url),
|
||||
"method": harJson["method"].toLowerCase(),
|
||||
});
|
||||
|
||||
@ -124,7 +120,7 @@ async function buildFormData(fields) {
|
||||
m[i["name"]] = i["value"];
|
||||
}
|
||||
if (requestModel.hasFormData) {
|
||||
m['Content-Type'] = 'multipart/form-data';
|
||||
m[kHeaderContentType] = 'multipart/form-data';
|
||||
}
|
||||
result += templateHeader
|
||||
.render({"headers": padMultilineString(kEncoder.convert(m), 2)});
|
||||
|
@ -73,7 +73,6 @@ fetch(url, options)
|
||||
|
||||
String? getCode(
|
||||
RequestModel requestModel,
|
||||
String defaultUriScheme,
|
||||
) {
|
||||
try {
|
||||
jj.Template kNodejsImportTemplate = jj.Template(kStringImportNode);
|
||||
@ -89,13 +88,11 @@ fetch(url, options)
|
||||
"fields_list": json.encode(requestModel.formDataMapList),
|
||||
});
|
||||
}
|
||||
String url = requestModel.url;
|
||||
if (!url.contains("://") && url.isNotEmpty) {
|
||||
url = "$defaultUriScheme://$url";
|
||||
}
|
||||
var rM = requestModel.copyWith(url: url);
|
||||
|
||||
var harJson = requestModelToHARJsonRequest(rM, useEnabled: true);
|
||||
var harJson = requestModelToHARJsonRequest(
|
||||
requestModel,
|
||||
useEnabled: true,
|
||||
);
|
||||
|
||||
var templateStart = jj.Template(kTemplateStart);
|
||||
result += templateStart.render({
|
||||
@ -109,7 +106,7 @@ fetch(url, options)
|
||||
var templateHeader = jj.Template(kTemplateHeader);
|
||||
var m = {};
|
||||
if (requestModel.hasFormData) {
|
||||
m["Content-Type"] = "multipart/form-data";
|
||||
m[kHeaderContentType] = "multipart/form-data";
|
||||
}
|
||||
for (var i in headers) {
|
||||
m[i["name"]] = i["value"];
|
||||
|
@ -75,7 +75,6 @@ import okhttp3.MultipartBody""";
|
||||
|
||||
String? getCode(
|
||||
RequestModel requestModel,
|
||||
String defaultUriScheme,
|
||||
) {
|
||||
try {
|
||||
String result = "";
|
||||
@ -83,13 +82,8 @@ import okhttp3.MultipartBody""";
|
||||
bool hasBody = false;
|
||||
bool hasFormData = false;
|
||||
|
||||
String url = requestModel.url;
|
||||
if (!url.contains("://") && url.isNotEmpty) {
|
||||
url = "$defaultUriScheme://$url";
|
||||
}
|
||||
|
||||
var rec = getValidRequestUri(
|
||||
url,
|
||||
requestModel.url,
|
||||
requestModel.enabledRequestParams,
|
||||
);
|
||||
Uri? uri = rec.$1;
|
||||
|
@ -5,13 +5,15 @@ import 'package:apidash/models/models.dart' show RequestModel;
|
||||
class HARCodeGen {
|
||||
String? getCode(
|
||||
RequestModel requestModel,
|
||||
String defaultUriScheme,
|
||||
) {
|
||||
String defaultUriScheme, {
|
||||
String? boundary,
|
||||
}) {
|
||||
try {
|
||||
var harString = kEncoder.convert(requestModelToHARJsonRequest(
|
||||
requestModel,
|
||||
defaultUriScheme: defaultUriScheme,
|
||||
useEnabled: true,
|
||||
boundary: boundary,
|
||||
));
|
||||
return harString;
|
||||
} catch (e) {
|
||||
|
@ -87,8 +87,7 @@ dataList = build_data_list({{fields_list}})
|
||||
body = b'\r\n'.join(dataList)
|
||||
''';
|
||||
String? getCode(
|
||||
RequestModel requestModel,
|
||||
String defaultUriScheme, {
|
||||
RequestModel requestModel, {
|
||||
String? boundary,
|
||||
}) {
|
||||
try {
|
||||
@ -97,11 +96,6 @@ body = b'\r\n'.join(dataList)
|
||||
bool hasQuery = false;
|
||||
bool hasBody = false;
|
||||
|
||||
String url = requestModel.url;
|
||||
if (!url.contains("://") && url.isNotEmpty) {
|
||||
url = "$defaultUriScheme://$url";
|
||||
}
|
||||
|
||||
var templateStartUrl = jj.Template(kTemplateStart);
|
||||
result += templateStartUrl.render(
|
||||
{
|
||||
@ -109,7 +103,7 @@ body = b'\r\n'.join(dataList)
|
||||
},
|
||||
);
|
||||
var rec = getValidRequestUri(
|
||||
url,
|
||||
requestModel.url,
|
||||
requestModel.enabledRequestParams,
|
||||
);
|
||||
|
||||
|
@ -80,8 +80,7 @@ print('Response Body:', response.text)
|
||||
}
|
||||
|
||||
String? getCode(
|
||||
RequestModel requestModel,
|
||||
String defaultUriScheme, {
|
||||
RequestModel requestModel, {
|
||||
String? boundary,
|
||||
}) {
|
||||
try {
|
||||
@ -91,13 +90,8 @@ print('Response Body:', response.text)
|
||||
bool hasBody = false;
|
||||
bool hasJsonBody = false;
|
||||
|
||||
String url = requestModel.url;
|
||||
if (!url.contains("://") && url.isNotEmpty) {
|
||||
url = "$defaultUriScheme://$url";
|
||||
}
|
||||
|
||||
var rec = getValidRequestUri(
|
||||
url,
|
||||
requestModel.url,
|
||||
requestModel.enabledRequestParams,
|
||||
);
|
||||
Uri? uri = rec.$1;
|
||||
|
Reference in New Issue
Block a user