Skip to content

Commit 5e22ff7

Browse files
authored
fix(ios): update native network logging method signature (#507)
* fix(ios): update native network logging method signature * feat(example): add network logging in example
1 parent f529788 commit 5e22ff7

File tree

8 files changed

+67
-33
lines changed

8 files changed

+67
-33
lines changed

example/ios/InstabugTests/InstabugApiTests.m

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#import "InstabugApi.h"
55
#import "Instabug/Instabug.h"
66
#import "Util/Instabug+Test.h"
7-
#import "Util/IBGNetworkLogger+Test.h"
7+
#import "IBGNetworkLogger+CP.h"
88
#import "Flutter/Flutter.h"
99

1010
@interface InstabugTests : XCTestCase
@@ -435,7 +435,11 @@ - (void)testNetworkLog {
435435
duration:duration.integerValue
436436
gqlQueryName:nil
437437
serverErrorMessage:nil
438-
]);
438+
isW3cCaughted:nil
439+
partialID:nil
440+
timestamp:nil
441+
generatedW3CTraceparent:nil
442+
caughtedW3CTraceparent:nil]);
439443
}
440444

441445
- (void)testWillRedirectToAppStore {

example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@
8787
CC359DB82937720C0067A924 /* ApmApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ApmApiTests.m; sourceTree = "<group>"; };
8888
CC3D69E6293F47FC000DCE54 /* ArgsRegistryTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ArgsRegistryTests.m; sourceTree = "<group>"; };
8989
CC78720E293CA8EE008CB2A5 /* Instabug+Test.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Instabug+Test.h"; sourceTree = "<group>"; };
90-
CC787211293CAB28008CB2A5 /* IBGNetworkLogger+Test.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "IBGNetworkLogger+Test.h"; sourceTree = "<group>"; };
9190
CC9925D1293DEB0B001FD3EE /* CrashReportingApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CrashReportingApiTests.m; sourceTree = "<group>"; };
9291
CC9925D4293DF534001FD3EE /* FeatureRequestsApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FeatureRequestsApiTests.m; sourceTree = "<group>"; };
9392
CC9925D6293DFB03001FD3EE /* InstabugLogApiTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = InstabugLogApiTests.m; sourceTree = "<group>"; };
@@ -216,7 +215,6 @@
216215
children = (
217216
BE26C80C2BD55575009FECCF /* IBGCrashReporting+CP.h */,
218217
CC78720E293CA8EE008CB2A5 /* Instabug+Test.h */,
219-
CC787211293CAB28008CB2A5 /* IBGNetworkLogger+Test.h */,
220218
CC198C62293E2392007077C8 /* IBGSurvey+Test.h */,
221219
);
222220
path = Util;

example/lib/main.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ import 'dart:async';
22
import 'dart:developer';
33
import 'dart:io';
44
import 'dart:convert';
5-
import 'package:http/http.dart' as http;
65

76
import 'package:flutter/material.dart';
87
import 'package:instabug_flutter/instabug_flutter.dart';
8+
import 'package:instabug_http_client/instabug_http_client.dart';
99
import 'package:instabug_flutter_example/src/app_routes.dart';
1010
import 'package:instabug_flutter_example/src/widget/nested_view.dart';
1111

example/lib/src/components/network_content.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ class NetworkContent extends StatefulWidget {
1010
}
1111

1212
class _NetworkContentState extends State<NetworkContent> {
13+
final http = InstabugHttpClient();
14+
1315
final endpointUrlController = TextEditingController();
1416

1517
@override

example/pubspec.lock

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,14 @@ packages:
116116
relative: true
117117
source: path
118118
version: "13.4.0"
119+
instabug_http_client:
120+
dependency: "direct main"
121+
description:
122+
name: instabug_http_client
123+
sha256: "7d52803c0dd639f6dddbe07333418eb251ae02f3f9f4d30402517533ca692784"
124+
url: "https://pub.dev"
125+
source: hosted
126+
version: "2.4.0"
119127
leak_tracker:
120128
dependency: transitive
121129
description:

example/pubspec.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ dependencies:
2626
http: ^0.13.0
2727
instabug_flutter:
2828
path: ../
29+
instabug_http_client: ^2.4.0
2930

3031
dev_dependencies:
3132
espresso: 0.2.0+5
@@ -35,6 +36,10 @@ dev_dependencies:
3536
sdk: flutter
3637
flutter_lints: 1.0.4
3738

39+
dependency_overrides:
40+
instabug_flutter:
41+
path: ../
42+
3843
# For information on the generic Dart part of this file, see the
3944
# following page: https://dart.dev/tools/pub/pubspec
4045

ios/Classes/Modules/InstabugApi.m

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -263,10 +263,10 @@ - (void)networkLogData:(NSDictionary<NSString *, id> *)data error:(FlutterError
263263
NSString *method = data[@"method"];
264264
NSString *requestBody = data[@"requestBody"];
265265
NSString *responseBody = data[@"responseBody"];
266-
int32_t responseCode = [data[@"responseCode"] integerValue];
266+
int32_t responseCode = (int32_t) [data[@"responseCode"] integerValue];
267267
int64_t requestBodySize = [data[@"requestBodySize"] integerValue];
268268
int64_t responseBodySize = [data[@"responseBodySize"] integerValue];
269-
int32_t errorCode = [data[@"errorCode"] integerValue];
269+
int32_t errorCode = (int32_t) [data[@"errorCode"] integerValue];
270270
NSString *errorDomain = data[@"errorDomain"];
271271
NSDictionary *requestHeaders = data[@"requestHeaders"];
272272
if ([requestHeaders count] == 0) {
@@ -286,32 +286,27 @@ - (void)networkLogData:(NSDictionary<NSString *, id> *)data error:(FlutterError
286286
serverErrorMessage = data[@"serverErrorMessage"];
287287
}
288288

289-
SEL networkLogSEL = NSSelectorFromString(@"addNetworkLogWithUrl:method:requestBody:requestBodySize:responseBody:responseBodySize:responseCode:requestHeaders:responseHeaders:contentType:errorDomain:errorCode:startTime:duration:gqlQueryName:serverErrorMessage:");
290-
291-
if ([[IBGNetworkLogger class] respondsToSelector:networkLogSEL]) {
292-
NSInvocation *inv = [NSInvocation invocationWithMethodSignature:[[IBGNetworkLogger class] methodSignatureForSelector:networkLogSEL]];
293-
[inv setSelector:networkLogSEL];
294-
[inv setTarget:[IBGNetworkLogger class]];
295-
296-
[inv setArgument:&(url) atIndex:2];
297-
[inv setArgument:&(method) atIndex:3];
298-
[inv setArgument:&(requestBody) atIndex:4];
299-
[inv setArgument:&(requestBodySize) atIndex:5];
300-
[inv setArgument:&(responseBody) atIndex:6];
301-
[inv setArgument:&(responseBodySize) atIndex:7];
302-
[inv setArgument:&(responseCode) atIndex:8];
303-
[inv setArgument:&(requestHeaders) atIndex:9];
304-
[inv setArgument:&(responseHeaders) atIndex:10];
305-
[inv setArgument:&(contentType) atIndex:11];
306-
[inv setArgument:&(errorDomain) atIndex:12];
307-
[inv setArgument:&(errorCode) atIndex:13];
308-
[inv setArgument:&(startTime) atIndex:14];
309-
[inv setArgument:&(duration) atIndex:15];
310-
[inv setArgument:&(gqlQueryName) atIndex:16];
311-
[inv setArgument:&(serverErrorMessage) atIndex:17];
312-
313-
[inv invoke];
314-
}
289+
[IBGNetworkLogger addNetworkLogWithUrl:url
290+
method:method
291+
requestBody:requestBody
292+
requestBodySize:requestBodySize
293+
responseBody:responseBody
294+
responseBodySize:responseBodySize
295+
responseCode:responseCode
296+
requestHeaders:requestHeaders
297+
responseHeaders:responseHeaders
298+
contentType:contentType
299+
errorDomain:errorDomain
300+
errorCode:errorCode
301+
startTime:startTime
302+
duration:duration
303+
gqlQueryName:gqlQueryName
304+
serverErrorMessage:serverErrorMessage
305+
isW3cCaughted:nil
306+
partialID:nil
307+
timestamp:nil
308+
generatedW3CTraceparent:nil
309+
caughtedW3CTraceparent:nil];
315310
}
316311

317312
- (void)willRedirectToStoreWithError:(FlutterError * _Nullable __autoreleasing *)error {

ios/Classes/Util/IBGNetworkLogger+CP.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,28 @@ NS_ASSUME_NONNULL_BEGIN
66

77
+ (void)disableAutomaticCapturingOfNetworkLogs;
88

9+
+ (void)addNetworkLogWithUrl:(NSString *_Nonnull)url
10+
method:(NSString *_Nonnull)method
11+
requestBody:(NSString *_Nonnull)request
12+
requestBodySize:(int64_t)requestBodySize
13+
responseBody:(NSString *_Nonnull)response
14+
responseBodySize:(int64_t)responseBodySize
15+
responseCode:(int32_t)code
16+
requestHeaders:(NSDictionary *_Nonnull)requestHeaders
17+
responseHeaders:(NSDictionary *_Nonnull)responseHeaders
18+
contentType:(NSString *_Nonnull)contentType
19+
errorDomain:(NSString *_Nullable)errorDomain
20+
errorCode:(int32_t)errorCode
21+
startTime:(int64_t)startTime
22+
duration:(int64_t) duration
23+
gqlQueryName:(NSString * _Nullable)gqlQueryName
24+
serverErrorMessage:(NSString * _Nullable)serverErrorMessage
25+
isW3cCaughted:(NSNumber * _Nullable)isW3cCaughted
26+
partialID:(NSNumber * _Nullable)partialID
27+
timestamp:(NSNumber * _Nullable)timestamp
28+
generatedW3CTraceparent:(NSString * _Nullable)generatedW3CTraceparent
29+
caughtedW3CTraceparent:(NSString * _Nullable)caughtedW3CTraceparent;
30+
931
@end
1032

1133
NS_ASSUME_NONNULL_END

0 commit comments

Comments
 (0)