mirror of
https://github.com/foss42/apidash.git
synced 2025-05-24 01:36:46 +08:00
refact: codegen to override content-type header
This commit is contained in:
@ -55,8 +55,11 @@ class DartHttpCodeGen {
|
|||||||
final strContent = CodeExpression(Code('r\'\'\'$body\'\'\''));
|
final strContent = CodeExpression(Code('r\'\'\'$body\'\'\''));
|
||||||
dataExp = declareVar('body', type: refer('String')).assign(strContent);
|
dataExp = declareVar('body', type: refer('String')).assign(strContent);
|
||||||
|
|
||||||
composeHeaders.putIfAbsent(HttpHeaders.contentTypeHeader,
|
final hasContentTypeHeader = composeHeaders.keys.any((k) => k.toLowerCase() == HttpHeaders.contentTypeHeader);
|
||||||
|
if (!hasContentTypeHeader) {
|
||||||
|
composeHeaders.putIfAbsent(HttpHeaders.contentTypeHeader,
|
||||||
() => kContentTypeMap[contentType] ?? '');
|
() => kContentTypeMap[contentType] ?? '');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Expression? queryParamExp;
|
Expression? queryParamExp;
|
||||||
|
@ -102,7 +102,9 @@ print(data.decode("utf-8"))
|
|||||||
var headers = requestModel.headersMap;
|
var headers = requestModel.headersMap;
|
||||||
if (headers.isNotEmpty || hasBody) {
|
if (headers.isNotEmpty || hasBody) {
|
||||||
hasHeaders = true;
|
hasHeaders = true;
|
||||||
if (hasBody) {
|
bool hasContentTypeHeader = headers.keys.any((k) => k.toLowerCase() == HttpHeaders.contentTypeHeader);
|
||||||
|
|
||||||
|
if (hasBody && !hasContentTypeHeader) {
|
||||||
headers[HttpHeaders.contentTypeHeader] =
|
headers[HttpHeaders.contentTypeHeader] =
|
||||||
kContentTypeMap[requestModel.requestBodyContentType] ?? "";
|
kContentTypeMap[requestModel.requestBodyContentType] ?? "";
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
import 'dart:io';
|
||||||
import 'package:apidash/consts.dart';
|
import 'package:apidash/consts.dart';
|
||||||
import 'package:apidash/utils/utils.dart' show getValidRequestUri;
|
import 'package:apidash/utils/utils.dart' show getValidRequestUri;
|
||||||
import 'package:apidash/models/models.dart' show RequestModel;
|
import 'package:apidash/models/models.dart' show RequestModel;
|
||||||
@ -129,7 +130,9 @@ Map<String, dynamic> requestModelToHARJsonRequest(
|
|||||||
if (headersList != null || hasBody) {
|
if (headersList != null || hasBody) {
|
||||||
var headers = requestModel.headersMap;
|
var headers = requestModel.headersMap;
|
||||||
if (headers.isNotEmpty || hasBody) {
|
if (headers.isNotEmpty || hasBody) {
|
||||||
if (hasBody) {
|
bool hasContentTypeHeader = headers.keys.any((k) => k.toLowerCase() == HttpHeaders.contentTypeHeader);
|
||||||
|
|
||||||
|
if (hasBody && !hasContentTypeHeader) {
|
||||||
var m = {
|
var m = {
|
||||||
"name": "Content-Type",
|
"name": "Content-Type",
|
||||||
"value": kContentTypeMap[requestModel.requestBodyContentType] ?? ""
|
"value": kContentTypeMap[requestModel.requestBodyContentType] ?? ""
|
||||||
|
Reference in New Issue
Block a user