refact: codegen to override content-type header

This commit is contained in:
APPALA REDDI
2024-01-02 09:23:04 +05:30
parent 5eb91fbaf7
commit c765cb378b
3 changed files with 11 additions and 3 deletions

View File

@ -55,9 +55,12 @@ class DartHttpCodeGen {
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,
() => kContentTypeMap[contentType] ?? '');
}
}
Expression? queryParamExp;
List<Expression>? uriReassignExps;

View File

@ -102,7 +102,9 @@ print(data.decode("utf-8"))
var headers = requestModel.headersMap;
if (headers.isNotEmpty || hasBody) {
hasHeaders = true;
if (hasBody) {
bool hasContentTypeHeader = headers.keys.any((k) => k.toLowerCase() == HttpHeaders.contentTypeHeader);
if (hasBody && !hasContentTypeHeader) {
headers[HttpHeaders.contentTypeHeader] =
kContentTypeMap[requestModel.requestBodyContentType] ?? "";
}

View File

@ -1,4 +1,5 @@
import 'dart:convert';
import 'dart:io';
import 'package:apidash/consts.dart';
import 'package:apidash/utils/utils.dart' show getValidRequestUri;
import 'package:apidash/models/models.dart' show RequestModel;
@ -129,7 +130,9 @@ Map<String, dynamic> requestModelToHARJsonRequest(
if (headersList != null || hasBody) {
var headers = requestModel.headersMap;
if (headers.isNotEmpty || hasBody) {
if (hasBody) {
bool hasContentTypeHeader = headers.keys.any((k) => k.toLowerCase() == HttpHeaders.contentTypeHeader);
if (hasBody && !hasContentTypeHeader) {
var m = {
"name": "Content-Type",
"value": kContentTypeMap[requestModel.requestBodyContentType] ?? ""