onRequest method

  1. @override
Future<Request> onRequest(
  1. Request request
)

Implementation

@override
Future<Request> onRequest(Request request) async {
  String versionKey, versionValue, authKey, authValue;

  if (Platform.isIOS || Platform.isMacOS) {
    versionKey = "X-Vital-iOS-SDK-Version";
    versionValue = "0.10.8";
  } else if (Platform.isAndroid || Platform.isLinux) {
    versionKey = "X-Vital-Android-SDK-Version";
    versionValue = "1.0.0-beta.23";
  } else {
    throw Exception(
        "Unsupported Flutter platform: ${Platform.operatingSystem}");
  }

  if (useAccessToken) {
    String accessToken = await vital_core.getAccessToken();
    authKey = "Authorization";
    authValue = "Bearer $accessToken";
  } else {
    authKey = "X-Vital-API-Key";
    authValue = apiKey!;
  }

  return applyHeaders(request, {
    authKey: authValue,
    versionKey: versionValue,
  });
}