mirror of
https://github.com/foss42/apidash.git
synced 2025-06-01 23:45:19 +08:00
Update codegens
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
import 'package:apidash/consts.dart';
|
||||
import 'package:jinja/jinja.dart' as jj;
|
||||
import 'package:apidash/models/models.dart' show RequestModel;
|
||||
import 'package:apidash/models/models.dart';
|
||||
import 'package:apidash/utils/http_utils.dart';
|
||||
|
||||
class CSharpHttpClientCodeGen {
|
||||
@ -78,7 +78,7 @@ using (var request = new HttpRequestMessage(HttpMethod.{{ method | capitalize }}
|
||||
}
|
||||
''';
|
||||
|
||||
String? getCode(RequestModel requestModel) {
|
||||
String? getCode(HttpRequestModel requestModel) {
|
||||
try {
|
||||
StringBuffer result = StringBuffer();
|
||||
|
||||
@ -86,10 +86,12 @@ using (var request = new HttpRequestMessage(HttpMethod.{{ method | capitalize }}
|
||||
String formdataImport = requestModel.hasFormData
|
||||
? "multipart" //(requestModel.hasFileInFormData ? "multipart" : "urlencoded")
|
||||
: "nodata";
|
||||
result.writeln(jj.Template(kTemplateNamespaces).render({"formdata": formdataImport}));
|
||||
result.writeln(jj.Template(kTemplateNamespaces)
|
||||
.render({"formdata": formdataImport}));
|
||||
|
||||
// Set request URL
|
||||
var (uri, _) = getValidRequestUri(requestModel.url, requestModel.enabledRequestParams);
|
||||
var (uri, _) =
|
||||
getValidRequestUri(requestModel.url, requestModel.enabledParams);
|
||||
if (uri != null) {
|
||||
result.writeln(jj.Template(kTemplateUri).render({"uri": uri}));
|
||||
}
|
||||
@ -102,22 +104,26 @@ using (var request = new HttpRequestMessage(HttpMethod.{{ method | capitalize }}
|
||||
// Set request headers
|
||||
var headers = requestModel.enabledHeadersMap;
|
||||
if (headers.isNotEmpty) {
|
||||
result.writeln(jj.Template(kTemplateHeaders).render({"headers": headers}));
|
||||
result.writeln(
|
||||
jj.Template(kTemplateHeaders).render({"headers": headers}));
|
||||
}
|
||||
|
||||
// Set request body if exists
|
||||
if (kMethodsWithBody.contains(requestModel.method) && requestModel.hasBody) {
|
||||
var requestBody = requestModel.requestBody;
|
||||
if (kMethodsWithBody.contains(requestModel.method) &&
|
||||
requestModel.hasBody) {
|
||||
var requestBody = requestModel.body;
|
||||
|
||||
if (!requestModel.hasFormData && requestBody != null && requestBody.isNotEmpty) {
|
||||
if (!requestModel.hasFormData &&
|
||||
requestBody != null &&
|
||||
requestBody.isNotEmpty) {
|
||||
// if the request body is not formdata then render raw text body
|
||||
result.writeln(jj.Template(kTemplateRawBody).render({
|
||||
"body": requestBody,
|
||||
"mediaType": requestModel.requestBodyContentType.header,
|
||||
"mediaType": requestModel.bodyContentType.header,
|
||||
}));
|
||||
} else if (requestModel.hasFormData) {
|
||||
// final String renderingTemplate = requestModel.hasFileInFormData
|
||||
// ? kTemplateMultipartFormDataContent
|
||||
// ? kTemplateMultipartFormDataContent
|
||||
// : kTemplateFormUrlEncodedContent;
|
||||
|
||||
final String renderingTemplate = kTemplateMultipartFormDataContent;
|
||||
|
@ -1,10 +1,9 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:apidash/consts.dart';
|
||||
import 'package:jinja/jinja.dart' as jj;
|
||||
import '../../models/request_model.dart';
|
||||
import '../../extensions/extensions.dart';
|
||||
import '../../utils/http_utils.dart';
|
||||
import 'package:apidash/consts.dart';
|
||||
import 'package:apidash/models/models.dart';
|
||||
import 'package:apidash/extensions/extensions.dart';
|
||||
import 'package:apidash/utils/http_utils.dart';
|
||||
|
||||
class CSharpRestSharp {
|
||||
String kStringImports = """
|
||||
@ -90,12 +89,12 @@ class Program
|
||||
}
|
||||
""";
|
||||
|
||||
String? getCode(RequestModel requestModel) {
|
||||
String? getCode(HttpRequestModel requestModel) {
|
||||
try {
|
||||
String result = "";
|
||||
var rec = getValidRequestUri(
|
||||
requestModel.url,
|
||||
requestModel.enabledRequestParams,
|
||||
requestModel.enabledParams,
|
||||
);
|
||||
Uri? uri = rec.$1;
|
||||
if (uri != null) {
|
||||
@ -130,14 +129,13 @@ class Program
|
||||
}
|
||||
}
|
||||
|
||||
var headersList = requestModel.enabledRequestHeaders;
|
||||
var headersList = requestModel.enabledHeaders;
|
||||
if (headersList != null ||
|
||||
requestModel.hasJsonData ||
|
||||
requestModel.hasTextData) {
|
||||
var headers = requestModel.enabledHeadersMap;
|
||||
if (requestModel.hasJsonData || requestModel.hasTextData) {
|
||||
headers[kHeaderContentType] =
|
||||
requestModel.requestBodyContentType.header;
|
||||
headers[kHeaderContentType] = requestModel.bodyContentType.header;
|
||||
}
|
||||
if (headers.isNotEmpty) {
|
||||
jj.Template templateHeaders = jj.Template(kTemplateHeaders);
|
||||
@ -169,8 +167,7 @@ class Program
|
||||
|
||||
if (requestModel.hasJsonData) {
|
||||
var templateJsonData = jj.Template(kTemplateJsonData);
|
||||
Map<String, dynamic> bodyData =
|
||||
json.decode(requestModel.requestBody!);
|
||||
Map<String, dynamic> bodyData = json.decode(requestModel.body!);
|
||||
List<String> jsonArr = [];
|
||||
|
||||
bodyData.forEach((key, value) {
|
||||
@ -184,7 +181,7 @@ class Program
|
||||
if (requestModel.hasTextData) {
|
||||
jj.Template templateTextData = jj.Template(kTemplateTextData);
|
||||
result += templateTextData
|
||||
.render({"textData": jsonEncode(requestModel.requestBody)});
|
||||
.render({"textData": jsonEncode(requestModel.body)});
|
||||
}
|
||||
|
||||
result += kStringEnd;
|
||||
|
Reference in New Issue
Block a user