Future<Yt>
withOAuth(- {ClientId? oAuthClientId,
- LogOptions logOptions = const LogOptions(LogLevel.error, stackTraceLevel: LogLevel.off)}
)
Implementation
static Future<Yt> withOAuth(
{ClientId? oAuthClientId,
LogOptions logOptions = const LogOptions(
LogLevel.error,
stackTraceLevel: LogLevel.off,
)}) async {
oAuthClientId ??= Util.defaultClientId();
final oauthAccessControl = OAuthAccessControl(
clientId: oAuthClientId, httpClient: IOClient(httpClient));
final yt = Yt(logOptions: logOptions);
dio.interceptors
.add(InterceptorsWrapper(onRequest: (options, handler) async {
await oauthAccessControl.checkAccessToken();
options.headers['Authorization'] = 'Bearer ${oauthAccessControl.token}';
return handler.next(options);
}));
yt.setModules(useToken: true);
return yt;
}