From 1110395b1261df00c6a123a5fb77fb4f30852583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BF=97=E5=B9=B3?= Date: Tue, 12 Sep 2023 11:10:28 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=9B=9E=E6=94=BEurl=E6=8B=A6=E6=88=AA=20f?= =?UTF-8?q?lag=E5=88=A4=E6=96=AD=E6=9D=A1=E4=BB=B6=E4=B8=8D=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ability/BehaviorReplay/Intercept/PrismReplayNSURLProtocol.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iOS/DiDiPrism/Src/Ability/BehaviorReplay/Intercept/PrismReplayNSURLProtocol.m b/iOS/DiDiPrism/Src/Ability/BehaviorReplay/Intercept/PrismReplayNSURLProtocol.m index 8034f96..6d44488 100644 --- a/iOS/DiDiPrism/Src/Ability/BehaviorReplay/Intercept/PrismReplayNSURLProtocol.m +++ b/iOS/DiDiPrism/Src/Ability/BehaviorReplay/Intercept/PrismReplayNSURLProtocol.m @@ -58,7 +58,7 @@ + (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request { __block NSDictionary *mockResult = nil; NSString *httpMethod = request.HTTPMethod; NSArray *requestInfos = [NSURLProtocol propertyForKey:PRISM_REQUEST_INFOS inRequest:request]; - NSString *urlFlag = [NSString stringWithFormat:@"%@", request.URL.path]; + NSString *urlFlag = [PrismBehaviorReplayManager sharedManager].urlFlagPickBlock ? [PrismBehaviorReplayManager sharedManager].urlFlagPickBlock(request) : nil; [requestInfos enumerateObjectsUsingBlock:^(PrismBehaviorItemRequestInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { if ([obj.originUrl containsString:urlFlag]) { /* From 9ce575dfd3f99fde1472917f7639aadf4d2545f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BF=97=E5=B9=B3?= Date: Mon, 18 Sep 2023 18:14:10 +0800 Subject: [PATCH 2/2] =?UTF-8?q?request=E9=87=8D=E6=96=B0=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E7=BC=BA=E5=B0=91=E4=BF=A1=E6=81=AF=E5=B9=B6?= =?UTF-8?q?=E4=B8=94=E5=8F=AF=E8=83=BD=E4=B8=BAnil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BehaviorReplay/Intercept/PrismReplayNSURLProtocol.m | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/iOS/DiDiPrism/Src/Ability/BehaviorReplay/Intercept/PrismReplayNSURLProtocol.m b/iOS/DiDiPrism/Src/Ability/BehaviorReplay/Intercept/PrismReplayNSURLProtocol.m index 6d44488..dafd039 100644 --- a/iOS/DiDiPrism/Src/Ability/BehaviorReplay/Intercept/PrismReplayNSURLProtocol.m +++ b/iOS/DiDiPrism/Src/Ability/BehaviorReplay/Intercept/PrismReplayNSURLProtocol.m @@ -54,9 +54,9 @@ + (BOOL)canInitWithRequest:(NSURLRequest *)request { } + (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request { + NSMutableURLRequest *mutableReqeust = request.mutableCopy; __block NSString *mockUrl = nil; __block NSDictionary *mockResult = nil; - NSString *httpMethod = request.HTTPMethod; NSArray *requestInfos = [NSURLProtocol propertyForKey:PRISM_REQUEST_INFOS inRequest:request]; NSString *urlFlag = [PrismBehaviorReplayManager sharedManager].urlFlagPickBlock ? [PrismBehaviorReplayManager sharedManager].urlFlagPickBlock(request) : nil; [requestInfos enumerateObjectsUsingBlock:^(PrismBehaviorItemRequestInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { @@ -72,14 +72,11 @@ + (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request { } else { // 方式一 - mockUrl = obj.mockUrl; + mutableReqeust.URL = [NSURL URLWithString:obj.mockUrl]; } *stop = YES; } }]; - - NSMutableURLRequest *mutableReqeust = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:mockUrl]]; - mutableReqeust.HTTPMethod = httpMethod; [NSURLProtocol setProperty:@(YES) forKey:PRISM_REQUEST_HAS_INIT inRequest:mutableReqeust]; [NSURLProtocol setProperty:mockResult forKey:PRISM_REQUEST_MOCK_RESULT inRequest:mutableReqeust]; request = [mutableReqeust copy];