request method

  1. @override
Stream<Response> request(
  1. Request request, [
  2. NextLink? forward
])
override

A function called when a request reaches this Link

Implementation

@override
Stream<Response> request(
  Request request, [
  NextLink? forward,
]) async* {
  final httpResponse = await _executeRequest(request);

  final response = await _parseHttpResponse(httpResponse);

  if (httpResponse.statusCode >= 300 ||
      (response.data == null && response.errors == null)) {
    throw HttpLinkServerException(
      response: httpResponse,
      parsedResponse: response,
    );
  }

  yield Response(
    data: response.data,
    errors: response.errors,
    response: response.response,
    context: _updateResponseContext(response, httpResponse),
  );
}