Allow for using a custom transport client after handling dauth #405
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In some cases, the correct way to customize the behavior of the SDK network stack is to supply your own transport client. There is an API for this through
DropboxClientsManager.setupWithAppKey(
which SDK users call on app initialization.This is sufficient for all situations but the session in which dauth is performed. On initialization prior to dauth, there is no user access token or authorized client, so the custom implementation is discarded. The existing dauth url handler API doesn't allow for a custom transport client, and calls setupAuthorizedClient without one, so currently the default transport client is used until the app is restarted.
This change allows for a custom transport client to be included in the handle redirect URL flow. This is the smallest possible change to achieve this, but down the line we should weigh pulling the customization all out into a transport client configuration object instead as the objc SDK does.