![JAR search and dependency download from the Maven repository](/logo.png)
dart-dio.auth.basic_auth.mustache Maven / Gradle / Ivy
{{>header}}
import 'dart:async';
import 'dart:convert';
import 'package:{{pubName}}/auth/auth.dart';
import 'package:dio/dio.dart';
class BasicAuthInfo {
final String username;
final String password;
const BasicAuthInfo(this.username, this.password);
}
class BasicAuthInterceptor extends AuthInterceptor {
Map authInfo = {};
@override
Future onRequest(RequestOptions options) {
final metadataAuthInfo = getAuthInfo(options, 'basic');
for (final info in metadataAuthInfo) {
final authName = info['name'] as String;
final basicAuthInfo = authInfo[authName];
if (basicAuthInfo != null) {
final basicAuth = 'Basic ' + base64Encode(utf8.encode('${basicAuthInfo.username}:${basicAuthInfo.password}'));
options.headers['Authorization'] = basicAuth;
break;
}
}
return super.onRequest(options);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy