sendRequest<T> method
Implementation
Future<T> sendRequest<T>(RequestInput input) async {
// Create request
HttpClientRequest request = await HTTPRequestFactory.create(_client, input);
// Add headers & body
HeaderAdder.addHeaders(input, request);
BodyAdder.addBody(request, input);
// Send request
HttpClientResponse response = await RequestCloser.closeRequest(request);
// Parse response
String body = await ByteParser.parseBytesToString(response);
Map<String, dynamic> parsedData = StringParser.parseStringToJson(body);
// Handle errors
HTTPExceptionThrower.throwIfRequestFailed(response, parsedData);
// Parse model
T model = ModelExceptionThrower.throwIfModelNotRegistered(parsedData);
return model;
}