constructRequest method
Adds data to dio, adds autharization headers if needed and returns Future with request results
Implementation
Future<dio.Response> constructRequest(
dio.Dio client,
RequestMethod method,
dynamic encodedData,
) async {
dynamic data;
if (encodedData != null) {
data = encodedData;
}
if (requiresLogin) {
onAuthorization(client);
}
cancelToken = dio.CancelToken();
switch (method) {
case RequestMethod.get:
return client.getUri(
_fixDioUrlForQueryUri(query ?? {}, url ?? ''),
cancelToken: cancelToken,
);
case RequestMethod.post:
return client.postUri(
_fixDioUrlForQueryUri(query ?? {}, url ?? ''),
data: data,
cancelToken: cancelToken,
);
case RequestMethod.put:
return client.putUri(
_fixDioUrlForQueryUri(query ?? {}, url ?? ''),
data: data,
cancelToken: cancelToken,
);
case RequestMethod.delete:
return client.deleteUri(
_fixDioUrlForQueryUri(query ?? {}, url ?? ''),
data: data,
cancelToken: cancelToken,
);
case RequestMethod.patch:
return client.patchUri(
_fixDioUrlForQueryUri(query ?? {}, url ?? ''),
data: data,
cancelToken: cancelToken,
);
}
}