Tanner Bennett
62220a9a65
Record Firebase document creation
2021-12-24 19:30:18 -06:00
Tanner Bennett
94bf4eac2a
Record "push" Firebase network transaction types
2021-12-23 01:35:17 -06:00
Tanner Bennett
74622aaf10
Initial work for Firebase
2021-12-23 01:35:17 -06:00
Tanner Bennett
dbe1b93f48
Add network observer flag to our NSUserDefaults category
2021-10-13 18:45:52 -05:00
Tanner Bennett
06444f1576
Clean up some comments
2021-10-11 20:21:37 -05:00
Tanner Bennett
3446eff353
Hook and record websocket methods
2021-10-06 18:18:54 -05:00
Anıl Taşkıran
b9e2c1ebd9
fix baseResumeClass name for iOS14+
2020-10-12 23:07:18 -05:00
Tanner Bennett
fbeb1beca0
Namespace some category filenames
2020-04-06 17:32:11 -05:00
Tanner Bennett
5c153b0c89
Work around AFNetworking breaking network observer
2020-03-18 16:30:46 -05:00
Tanner Bennett
e7e5115fc0
Clean up FLEXNetworkObserver.m
2020-03-16 13:15:13 -05:00
Tanner Bennett
f2f66489d1
Use properties where applicable
2020-03-10 18:16:27 -05:00
Tanner Bennett
877a1db87b
Add ability to hide property-backing ivars+methods
2020-03-10 16:38:33 -05:00
Tanner Bennett
795cff68fd
Clean up formatting in various files
...
- Braces on same line
- Comments and method calls curbed to be near or under 100 characters per line
2020-02-06 14:21:22 -06:00
Tanner Bennett
fa9eec08c1
Fix bug in FLEXNetworkHistoryTableViewController
2020-02-06 14:21:22 -06:00
LAgagggggg
a78bf1b22f
Fix crash during NSURLSession's resume
2019-10-10 13:39:12 -04:00
Tanner Bennett
bff9f1dd89
Remove redundant property attributes
...
Object properties are strong by default, and primitive ones are assign by default. Verbosity is nice, but in this case it introduces unnecessary cognitive load.
Remove all usage of `strong` and `assign` property attributes
2019-08-16 12:48:35 -05:00
Tanner Bennett
81b7ccea22
Avoid using [[* alloc] init*] where possible
...
Prefer shorthand initializers, like +new or +stringWithCString:encoding:
2019-08-16 12:48:34 -05:00
Tanner Bennett
f2c8ede0e0
Use dot syntax for properties
...
Replaces the following method calls with dot syntax:
- count, length, UTF8String, CGColor, contentOffset, firstObject, lastObject, allObjects, allKeys, allValues, subviews, scale, frame, bounds, bytes
Also replaces various UIKit and Foundation singleton method calls with dot syntax, such as UIApplication.sharedApplication. These are all `class` properties now and Xcode will autocomplete them.
Also fixes a couple warnings.
2019-08-16 12:33:11 -05:00
Antoine Cœur
17e194b69d
various typos
2019-05-16 10:21:04 -05:00
Tanner Bennett
8b7c59d949
Fix #117 : limit network response size
...
Limit cached network response size to 50 MB
2018-07-12 22:22:12 -05:00
Marcus Ficner
d1e9248695
Fix typo
2018-01-23 23:05:10 -08:00
Chaoshuai Lu
a535f10d0c
Add generics to foundation collection classes
2018-01-23 23:04:33 -08:00
Ryan Olson
29afa5e80f
Merge pull request #177 from CodeLife2012/networkbug
...
Should keep the same completion logic
2017-08-27 16:53:20 -07:00
Ryan Olson
bf26bc6539
Fix formatting from 62ef95f
2017-08-27 15:56:08 -07:00
Aidan Dysart
62ef95ff93
satisfy the -Wstrict-prototypes clang warning
2017-08-08 11:01:10 -07:00
Karl Peng
c69427613d
should keep the same completion logic
2017-03-24 17:29:08 +08:00
Anchor
224978b31b
Fixed #150 .
...
Use @selector(URLSession:dataTask:didBecomeDownloadTask:) instead of @selector(URLSession:dataTask:didBecomeDownloadTask:delegate:) in method search.
2016-10-08 10:58:56 +08:00
kunka
e455ac0c7d
Fix swizzling for URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler: and URLSession:dataTask:didReceiveResponse:completionHandler:
2016-09-29 18:10:31 +08:00
Dan Loewenherz
29a45aa02d
use Objective-C 2.0 subscripting for dictionaries
2015-10-31 17:37:45 -05:00
Ryan Olson
3dd27557ea
Move swizzling helpers into FLEXUtility
2015-09-19 14:10:41 -06:00
Ryan Olson
a64188dd5e
Simplify network debugging settings
...
Having two switches to enable network debugging was confusing. One switch now enables network debugging and persists across launches of the app.
2015-09-19 13:56:46 -06:00
Ryan Olson
7df172afac
Make cast explicit
2015-09-10 14:25:08 -06:00
Ryan Olson
ab4b678498
Fix NSURLSession network observing in iOS 9
2015-09-09 11:45:50 -06:00
Ryan Olson
52bf2071a5
Fix unsafe cast from signed integer to unsigned
2015-09-09 10:38:37 -06:00
Tim Johnsen
6405bf40e3
Remove unused typedef.
2015-09-04 13:55:12 -07:00
Ryan Olson
caadcce7f1
No longer swizzle dataTaskWithHTTPGetRequest:completionHandler:
...
This deprecated method has been removed from the NSURLSession header in the iOS 9 SDK, so referencing the selector triggers an undeclared selector warning. We'll follow Apple's lead here and stop supporting the method entirely.
2015-09-03 15:13:14 -06:00
Ryan Olson
a42af79040
Protect against a nil NSURLConnection or NSURLSession object being passed to the swizzled delegate methods.
...
See https://github.com/Flipboard/FLEX/issues/61 for motivation and background.
2015-05-23 14:59:57 -07:00
Max Odnovolyk
1efb40a07e
Fix NSURLSession task creation with empty completion handler bug
2015-05-17 02:35:17 +03:00
Ryan Olson
efab760253
Fix setShouldEnableOnLauch: in FLEXNetworkObserver
...
Doh!
2015-04-01 10:38:28 -07:00
Jude Venn
d9ecb2359b
Fix fileURLOrData passthrough in network observer
...
Completion handler may be expecting fileURL so should always pass through the response that the session task gave us.
2015-02-25 15:26:59 +00:00
Ryan Olson
1f43569a4d
Protect NSURLSession and NSURLConnection swizzling with dispatch_once
2015-02-24 08:38:35 -08:00
Ryan Olson
991fd6559d
Don’t log network events when network debugging is disabled.
...
Checks already existed for the delegate swizzling path. This change adds checks to the swizzled async convenience methods.
2015-02-24 08:34:04 -08:00
Ryan Olson
9d98993838
Fix NSURLSession and NSURLSessionTask swizzling on iOS 7
2015-02-24 08:03:41 -08:00
Ryan Olson
300b68ae83
Swizzle the NSURLConnection and NSURLSessionTask convenience class methods.
...
Swizzle all the things. This allows us to hear about requests that don’t make the delegate calls.
2015-02-23 23:56:54 -08:00
Ryan Olson
ea53ac9bfb
Standardize on requestID instead of mixing in requestId
...
Non-functional change for consistency.
2015-02-23 22:53:17 -08:00
Ryan Olson
6f9c0917eb
Refactor FLEXNetworkObserver’s internal state management
...
Previously, we used PonyDebugger’s approach of keeping a dictionary of request states where the keys were derived from pointers to NSURLConnection objects or NSURLSessionTask objects. This works ok if you’re pretty sure the object will stick around for the whole time you hold the key in the dictionary. However, when we swizzle the async convenience methods on NSURLConnection and NSURLSession, we’ll be less involved in the request lifecycle. Therefore, we need a new approach that guarantees keys will be unique for every NSURLConnection and NSURLSessionTask. To do this, we’re generating UUIDs and attaching them to the connection and task objects via the associated object API. Since we need unique request IDs anyways, this simplifies the request state management nicely.
2015-02-23 22:53:17 -08:00
Ryan Olson
b66857f0da
Simplify +[FLEXNetworkObserver nextRequestID]
2015-02-23 22:53:17 -08:00
Ryan Olson
33d2667c99
Don’t clutter logs with NSURLConnection cancelations that occur before willSendRequest:…
...
These happen quite often and don’t really count as network traffic since they never actually hit the network.
2015-02-23 22:53:17 -08:00
Ryan Olson
b333f83470
Actually avoid sending +initialize to all classes when looking for ones we want to swizzle.
...
class_getInstanceMethod() causes +initialize to classes if they haven’t already received it. By using class_copyMethodList() instead, we avoid +initialize unless we’re actually going to swizzle methods on the class.
This change also takes the running time of the main injection method from ~400 ms to ~50 ms on an iPhone 6. Presumably that’s from +initialize methods that are no longer running here.
2015-02-23 22:53:17 -08:00
Ryan Olson
fd54e4cae0
Simplify recorder API by requiring that requestWillBeSent: is called first with the request.
...
This way, we don’t need to pass the request to every recorder method.
2015-02-23 22:53:11 -08:00