onRequest method

  1. @override
void onRequest(
  1. RequestOptions options,
  2. RequestInterceptorHandler handler
)

Called when the request is about to be sent.

Implementation

@override
void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
  final metadataAuthInfo = getAuthInfo(
    options,
    (secure) =>
        (secure['type'] == 'http' && secure['scheme'] == 'basic') ||
        secure['type'] == '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;
    }
  }
  super.onRequest(options, handler);
}