Update request model

This commit is contained in:
Ankit Mahato
2024-03-12 01:53:06 +05:30
parent e8fd13cbce
commit 4d4380f3aa
5 changed files with 42 additions and 25 deletions

View File

@ -1,4 +1,5 @@
import 'dart:io';
import 'dart:convert';
import 'package:flutter/foundation.dart';
import '../utils/utils.dart'
show
@ -62,9 +63,27 @@ class RequestModel {
Map<String, String> get headersMap => rowsToMap(requestHeaders) ?? {};
Map<String, String> get paramsMap => rowsToMap(requestParams) ?? {};
bool get hasFormDataContentType =>
requestBodyContentType == ContentType.formdata;
bool get hasJsonContentType => requestBodyContentType == ContentType.json;
bool get hasTextContentType => requestBodyContentType == ContentType.text;
int get contentLength => utf8.encode(requestBody ?? "").length;
bool get hasJsonData =>
kMethodsWithBody.contains(method) &&
hasJsonContentType &&
contentLength > 0;
bool get hasTextData =>
kMethodsWithBody.contains(method) &&
hasTextContentType &&
contentLength > 0;
bool get hasFormData =>
kMethodsWithBody.contains(method) &&
hasFormDataContentType &&
(requestFormDataList ?? <FormDataModel>[]).isNotEmpty;
List<FormDataModel> get formDataList =>
requestFormDataList ?? <FormDataModel>[];
List<Map<String, dynamic>> get formDataMapList =>
rowsToFormDataMapList(requestFormDataList) ?? [];
bool get isFormDataRequest => requestBodyContentType == ContentType.formdata;
bool get hasContentTypeHeader => enabledHeadersMap.keys
.any((k) => k.toLowerCase() == HttpHeaders.contentTypeHeader);