getBundle method

Future<OtaResponse<GetBundleResponse>> getBundle({
  1. required Credentials credentials,
  2. required BundleRequest request,
})

Implementation

Future<OtaResponse<GetBundleResponse>> getBundle({
  required Credentials credentials,
  required BundleRequest request,
}) async {
  final url = Uri.https(
    _domain,
    'v3/lokalise/projects/${credentials.projectId}/frameworks/flutter_sdk',
    request.toQueryParams(),
  );
  final response = await this.get(
    url,
    headers: {'x-ota-api-token': credentials.token},
  );

  final code = response.statusCode;
  if (code == 200) {
    return OtaResponse.success(
      httpCode: code,
      result: GetBundleResponse.fromJson(json: jsonDecode(response.body)),
    );
  } else if (code == 204) {
    return OtaResponse.success(
      httpCode: code,
      result: GetBundleResponse.empty(),
    );
  } else if (code >= 400 && code < 500) {
    return OtaResponse.failure(
      httpCode: code,
      error: OtaErrorResponse.fromJson(json: jsonDecode(response.body)),
    );
  } else {
    throw ApiException(
      httpCode: code,
      responseBody: response.body,
    );
  }
}