mirror of
https://github.com/foss42/apidash.git
synced 2025-08-06 13:51:20 +08:00
hasContentTypeHeader getter added to RequestModel
This commit is contained in:
@ -21,9 +21,10 @@ class DartHttpCodeGen {
|
||||
url: url,
|
||||
method: requestModel.method,
|
||||
queryParams: requestModel.enabledParamsMap,
|
||||
headers: requestModel.enabledHeadersMap,
|
||||
headers: {...requestModel.enabledHeadersMap},
|
||||
body: requestModel.requestBody,
|
||||
contentType: requestModel.requestBodyContentType,
|
||||
hasContentTypeHeader: requestModel.hasContentTypeHeader,
|
||||
);
|
||||
return next;
|
||||
} catch (e) {
|
||||
@ -38,6 +39,7 @@ class DartHttpCodeGen {
|
||||
required Map<String, String> headers,
|
||||
required String? body,
|
||||
required ContentType contentType,
|
||||
required bool hasContentTypeHeader,
|
||||
}) {
|
||||
final uri = Uri.parse(url);
|
||||
|
||||
@ -49,16 +51,13 @@ class DartHttpCodeGen {
|
||||
final uriExp =
|
||||
declareVar('uri').assign(refer('Uri.parse').call([literalString(url)]));
|
||||
|
||||
final composeHeaders = headers;
|
||||
Expression? dataExp;
|
||||
if (kMethodsWithBody.contains(method) && (body?.isNotEmpty ?? false)) {
|
||||
final strContent = CodeExpression(Code('r\'\'\'$body\'\'\''));
|
||||
dataExp = declareVar('body', type: refer('String')).assign(strContent);
|
||||
|
||||
final hasContentTypeHeader = composeHeaders.keys
|
||||
.any((k) => k.toLowerCase() == HttpHeaders.contentTypeHeader);
|
||||
if (!hasContentTypeHeader) {
|
||||
composeHeaders.putIfAbsent(HttpHeaders.contentTypeHeader,
|
||||
headers.putIfAbsent(HttpHeaders.contentTypeHeader,
|
||||
() => kContentTypeMap[contentType] ?? '');
|
||||
}
|
||||
}
|
||||
|
@ -105,10 +105,7 @@ print(data.decode("utf-8"))
|
||||
var headers = requestModel.enabledHeadersMap;
|
||||
if (headers.isNotEmpty || hasBody) {
|
||||
hasHeaders = true;
|
||||
bool hasContentTypeHeader = headers.keys
|
||||
.any((k) => k.toLowerCase() == HttpHeaders.contentTypeHeader);
|
||||
|
||||
if (hasBody && !hasContentTypeHeader) {
|
||||
if (hasBody && !requestModel.hasContentTypeHeader) {
|
||||
headers[HttpHeaders.contentTypeHeader] =
|
||||
kContentTypeMap[requestModel.requestBodyContentType] ?? "";
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
import 'dart:io';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:apidash/consts.dart';
|
||||
import 'package:apidash/utils/utils.dart'
|
||||
@ -53,6 +54,9 @@ class RequestModel {
|
||||
Map<String, String> get headersMap => rowsToMap(requestHeaders) ?? {};
|
||||
Map<String, String> get paramsMap => rowsToMap(requestParams) ?? {};
|
||||
|
||||
bool get hasContentTypeHeader => enabledHeadersMap.keys
|
||||
.any((k) => k.toLowerCase() == HttpHeaders.contentTypeHeader);
|
||||
|
||||
RequestModel duplicate({
|
||||
required String id,
|
||||
}) {
|
||||
|
@ -28,9 +28,7 @@ Future<(http.Response?, Duration?, String?)> request(
|
||||
if (contentLength > 0) {
|
||||
body = requestBody;
|
||||
headers[HttpHeaders.contentLengthHeader] = contentLength.toString();
|
||||
final hasContentTypeHeader = headers.keys
|
||||
.any((k) => k.toLowerCase() == HttpHeaders.contentTypeHeader);
|
||||
if (!hasContentTypeHeader) {
|
||||
if (!requestModel.hasContentTypeHeader) {
|
||||
headers[HttpHeaders.contentTypeHeader] =
|
||||
kContentTypeMap[requestModel.requestBodyContentType] ?? "";
|
||||
}
|
||||
|
@ -134,10 +134,7 @@ Map<String, dynamic> requestModelToHARJsonRequest(
|
||||
var headers =
|
||||
useEnabled ? requestModel.enabledHeadersMap : requestModel.headersMap;
|
||||
if (headers.isNotEmpty || hasBody) {
|
||||
bool hasContentTypeHeader = headers.keys
|
||||
.any((k) => k.toLowerCase() == HttpHeaders.contentTypeHeader);
|
||||
|
||||
if (hasBody && !hasContentTypeHeader) {
|
||||
if (hasBody && !requestModel.hasContentTypeHeader) {
|
||||
var m = {
|
||||
"name": "Content-Type",
|
||||
"value": kContentTypeMap[requestModel.requestBodyContentType] ?? ""
|
||||
|
Reference in New Issue
Block a user