In the previous episode, we extended the API client with the ability to fetch the video for an episode. Because videos are protected resources, the request includes an Authorization
header with an access token as its value. The solution we implemented works, but it is tedious to pass the access token to the API client and the object invoking the video(id:accessToken:)
method shouldn't need to deal with access tokens. That is a responsibility of the API client.
Subscribe to Cocoacasts Plus to watch this episode.
Building a Modern Networking Layer in Swift
Injecting the Access Token
by Bart Jacobs in Networking
Swift 5
Xcode 13
iOS 15
Building a Modern Networking Layer in Swift
-
06:30
-
08:01
-
09:24
-
09:27
-
5 Making the API Client Extensible
08:04
-
10:07
-
08:16
-
8 Working with Protected Resources
10:07
-
9 Injecting the Access Token
09:55
-
09:49
-
12 Creating and Updating Video Progress
06:40
-
07:57
-
14 Unit Testing the Networking Layer
10:32
-
15 Unit Testing Asynchronous Code
07:45
-
16 Stubbing the Cocoacasts API
08:42
-
18 Enabling Code Coverage to Find Gaps
07:10
-
20 Writing the Wrong Unit Tests
11:55
-
21 Writing Unit Tests for Edge Cases
08:25
-
22 Catching Bugs with Unit Tests
11:05
-
11:04