feat: add support for pre-request scripts

Introduces `preRequestScript` and `postRequestScript` fields to the request model to store user-defined scripts.

Implements a service using `flutter_js` to execute JavaScript pre-request scripts before a request is sent.
The script can access and modify request data (like headers, body, URL) and environment variables.

Adds bridging to forward JavaScript `console.log`, `console.warn`, and `console.error` calls to the Dart console for easier debugging
This commit is contained in:
Udhay-Adithya
2025-04-25 23:26:31 +05:30
parent 839d8b5c00
commit fadf49372f
4 changed files with 220 additions and 18 deletions

View File

@@ -27,6 +27,8 @@ _$RequestModelImpl _$$RequestModelImplFromJson(Map json) => _$RequestModelImpl(
sendingTime: json['sendingTime'] == null
? null
: DateTime.parse(json['sendingTime'] as String),
preRequestScript: json['preRequestScript'] as String? ?? "",
postRequestScript: json['postRequestScript'] as String? ?? "",
);
Map<String, dynamic> _$$RequestModelImplToJson(_$RequestModelImpl instance) =>
@@ -39,6 +41,8 @@ Map<String, dynamic> _$$RequestModelImplToJson(_$RequestModelImpl instance) =>
'responseStatus': instance.responseStatus,
'message': instance.message,
'httpResponseModel': instance.httpResponseModel?.toJson(),
'preRequestScript': instance.preRequestScript,
'postRequestScript': instance.postRequestScript,
};
const _$APITypeEnumMap = {