getResponse<T> method

Future<Either<T?, int>> getResponse<T>(
  1. HttpClientResponse response
)

Processes the HTTP response.

response is the HTTP response.

Implementation

Future<Either<T?, int>> getResponse<T>(HttpClientResponse response) async {
  if (response.statusCode.toString().startsWith('2')) {
    final String responseBodyString =
        await response.transform(utf8.decoder).join();
    if (responseBodyString.isEmpty) {
      return Left<T?, int>(null);
    }

    final dynamic responseBody = jsonDecode(responseBodyString);
    return Left<T?, int>(responseBody as T?);
  } else {
    return Right<T?, int>(response.statusCode);
  }
}