get method

  1. @override
Future<RepositoryHttpResponse> get({
  1. required RepositoryHttpRequest request,
})
override

Makes a HTTP get request using HttpClientRequest.

Implementation

@override
Future<RepositoryHttpResponse> get({
  required RepositoryHttpRequest request,
}) async {
  try {
    final tokenWithBearerPrefix =
        await RepositoryHttpClient.tokenBuilder?.call();

    final response = await _client.get(
      request.url,
      headers: {
        ...request.headers,
        if (tokenWithBearerPrefix != null)
          'Authorization': tokenWithBearerPrefix,
      },
    );

    return RepositoryHttpResponse(
      statusCode: response.statusCode,
      body: response.body,
      headers: response.headers,
    );
  } on http.ClientException {
    Repository.logger(
      'ClientException: ${request.url}',
      level: RepositoryLoggingLevel.error,
    );

    rethrow;
  }
}