From e64564c415b63ad4c47cd2627a615e61b02e0213 Mon Sep 17 00:00:00 2001 From: wanghongenpin Date: Mon, 19 May 2025 23:05:51 +0800 Subject: [PATCH] fix request update (#480) --- lib/network/components/request_rewrite.dart | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/network/components/request_rewrite.dart b/lib/network/components/request_rewrite.dart index 339a0fc..8649dc1 100644 --- a/lib/network/components/request_rewrite.dart +++ b/lib/network/components/request_rewrite.dart @@ -91,7 +91,14 @@ class RequestRewriteInterceptor extends Interceptor { if (rewriteRule?.type == RuleType.requestUpdate) { var rewriteItems = await manager.getRewriteItems(rewriteRule!); - rewriteItems?.where((item) => item.enabled).forEach((item) => _updateRequest(request, item)); + if (rewriteItems == null) { + return; + } + for (var item in rewriteItems) { + if (item.enabled) { + await _updateRequest(request, item); + } + } } } @@ -115,7 +122,15 @@ class RequestRewriteInterceptor extends Interceptor { if (rewriteRule.type == RuleType.responseUpdate) { var rewriteItems = await manager.getRewriteItems(rewriteRule); - rewriteItems?.where((item) => item.enabled).forEach((item) => _updateMessage(response, item)); + if (rewriteItems == null) { + return; + } + + for (var item in rewriteItems) { + if (item.enabled) { + await _updateMessage(response, item); + } + } } } @@ -176,7 +191,7 @@ class RequestRewriteInterceptor extends Interceptor { } //修改消息 - _updateMessage(HttpMessage message, RewriteItem item) async { + Future _updateMessage(HttpMessage message, RewriteItem item) async { if (item.type == RewriteType.updateBody && message.body != null) { String body = (await message.decodeBodyString()).replaceAllMapped(RegExp(item.key!), (match) { if (match.groupCount > 0 && item.value?.contains("\$1") == true) {