request method Null safety
override
Implementation
@override
Stream<Response> request(Request request, [forward]) async* {
final dio.Response<Map<String, dynamic>> dioResponse =
await _executeDioRequest(
body: _prepareRequestBody(request),
headers: <String, String>{
dio.Headers.acceptHeader: "*/*",
dio.Headers.contentTypeHeader: dio.Headers.jsonContentType,
...defaultHeaders,
..._getHttpLinkHeaders(request),
},
);
if (dioResponse.statusCode! >= 300 ||
(dioResponse.data!["data"] == null &&
dioResponse.data!["errors"] == null)) {
throw DioLinkServerException(
response: dioResponse,
parsedResponse: _parseDioResponse(dioResponse),
);
}
final gqlResponse = _parseDioResponse(dioResponse);
yield Response(
data: gqlResponse.data,
errors: gqlResponse.errors,
response: gqlResponse.response,
context: _updateResponseContext(gqlResponse, dioResponse),
);
}