mirror of
https://github.com/foss42/apidash.git
synced 2025-06-29 12:26:41 +08:00
Update net_http.dart
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
import 'package:jinja/jinja.dart' as jj;
|
import 'package:jinja/jinja.dart' as jj;
|
||||||
import 'package:apidash/utils/utils.dart'
|
import 'package:apidash/utils/utils.dart' show getValidRequestUri;
|
||||||
show requestModelToHARJsonRequest;
|
|
||||||
import 'package:apidash/models/models.dart' show RequestModel;
|
import 'package:apidash/models/models.dart' show RequestModel;
|
||||||
|
import '../../extensions/extensions.dart';
|
||||||
import 'package:apidash/consts.dart';
|
import 'package:apidash/consts.dart';
|
||||||
|
|
||||||
class RubyNetHttpCodeGen {
|
class RubyNetHttpCodeGen {
|
||||||
@ -15,9 +15,8 @@ request = Net::HTTP::{{method}}.new(url)
|
|||||||
""";
|
""";
|
||||||
|
|
||||||
String kTemplateHeader = """
|
String kTemplateHeader = """
|
||||||
|
{% for key, value in headers %}
|
||||||
{% for header in headers %}
|
request["{{key}}"] = "{{value}}"{% endfor %}
|
||||||
{% if 'multipart' not in header['value'] %}request["{{ header['name'] }}"] = "{{ header['value'] }}"{% endif %}{% endfor %}
|
|
||||||
""";
|
""";
|
||||||
|
|
||||||
String kTemplateBody = """
|
String kTemplateBody = """
|
||||||
@ -35,7 +34,7 @@ HEREDOC
|
|||||||
response = https.request(request)
|
response = https.request(request)
|
||||||
|
|
||||||
puts "Response Code: #{response.code}"
|
puts "Response Code: #{response.code}"
|
||||||
{% if method != "HEAD" %}puts "Response Body: #{response.body}"{% else %}puts "Response Body: #{response.to_hash}"{% endif %}
|
{% if method != "head" %}puts "Response Body: #{response.body}"{% else %}puts "Response Body: #{response.to_hash}"{% endif %}
|
||||||
|
|
||||||
""";
|
""";
|
||||||
|
|
||||||
@ -43,18 +42,33 @@ puts "Response Code: #{response.code}"
|
|||||||
try {
|
try {
|
||||||
String result = "";
|
String result = "";
|
||||||
|
|
||||||
var harJson =
|
var rec = getValidRequestUri(
|
||||||
requestModelToHARJsonRequest(requestModel, useEnabled: true);
|
requestModel.url,
|
||||||
|
requestModel.enabledRequestParams,
|
||||||
|
);
|
||||||
|
|
||||||
|
Uri? uri = rec.$1;
|
||||||
|
|
||||||
|
if (uri == null) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
var templateStart = jj.Template(kTemplateStart);
|
var templateStart = jj.Template(kTemplateStart);
|
||||||
result += templateStart.render({
|
result += templateStart.render({
|
||||||
"url": harJson["url"],
|
"url": uri.query.isEmpty
|
||||||
"method": harJson["method"].toString().substring(0, 1).toUpperCase() +
|
? uri.toString().replaceFirst("?", "", uri.toString().length - 1)
|
||||||
harJson["method"].toString().substring(1).toLowerCase(),
|
: uri,
|
||||||
"check": harJson["url"].toString().substring(0, 5),
|
"method": requestModel.method.name.capitalize(),
|
||||||
|
"check": uri.scheme,
|
||||||
});
|
});
|
||||||
|
|
||||||
var headers = harJson["headers"];
|
var headers = requestModel.enabledHeadersMap;
|
||||||
|
if (!requestModel.hasContentTypeHeader &&
|
||||||
|
(requestModel.hasJsonData || requestModel.hasTextData)) {
|
||||||
|
headers[kHeaderContentType] =
|
||||||
|
requestModel.requestBodyContentType.header;
|
||||||
|
}
|
||||||
|
|
||||||
if (headers.isNotEmpty) {
|
if (headers.isNotEmpty) {
|
||||||
var templateHeader = jj.Template(kTemplateHeader);
|
var templateHeader = jj.Template(kTemplateHeader);
|
||||||
result += templateHeader.render({
|
result += templateHeader.render({
|
||||||
@ -74,7 +88,7 @@ puts "Response Code: #{response.code}"
|
|||||||
result += "form_data = [";
|
result += "form_data = [";
|
||||||
var templateMultiPartBody = jj.Template(kMultiPartBodyTemplate);
|
var templateMultiPartBody = jj.Template(kMultiPartBodyTemplate);
|
||||||
int length = requestModel.formDataMapList.length;
|
int length = requestModel.formDataMapList.length;
|
||||||
|
|
||||||
for (var element in requestModel.formDataMapList) {
|
for (var element in requestModel.formDataMapList) {
|
||||||
result += "[";
|
result += "[";
|
||||||
result += templateMultiPartBody.render({
|
result += templateMultiPartBody.render({
|
||||||
@ -89,13 +103,13 @@ puts "Response Code: #{response.code}"
|
|||||||
result += "],";
|
result += "],";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// result.substring(0,result.length - 1);
|
|
||||||
result += "]\n";
|
result += "]\n";
|
||||||
result += "request.set_form form_data, 'multipart/form-data'";
|
result +=
|
||||||
|
"request.set_form form_data, '${ContentType.formdata.header}'";
|
||||||
}
|
}
|
||||||
|
|
||||||
result +=
|
result += jj.Template(kStringRequest)
|
||||||
jj.Template(kStringRequest).render({"method": harJson["method"]});
|
.render({"method": requestModel.method.name});
|
||||||
return result;
|
return result;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return null;
|
return null;
|
||||||
|
Reference in New Issue
Block a user