request method
Future
request(
- String url, {
- HTTPMethod method = HTTPMethod.get,
- Map<String, dynamic>? params,
- Map<String, dynamic>? body,
- String? bodyString,
- bool showProgress = false,
- bool isFormData = false,
- CancelToken? cancelToken,
- ResponseType? responseType,
- bool includeNon2xxBody = false,
})
Implementation
Future<dynamic> request(String url,
{HTTPMethod method = HTTPMethod.get,
Map<String, dynamic>? params,
Map<String, dynamic>? body,
/// When set, POST/PUT uses this exact string as the body (for HMAC parity with signing).
String? bodyString,
Map<String, dynamic>? headers,
bool showProgress = false,
bool isFormData = false,
CancelToken? cancelToken,
ResponseType? responseType,
/// When true, POST returns [Response.data] even for non-2xx (e.g. payment API JSON on 400).
bool includeNon2xxBody = false}) async {
// await _initDio();
// if (await isInternetConnected()) {
// await _addUserToken();
try {
if (headers != null) {
_headers.clear();
_headers.addAll(headers);
}
params ??= {};
body ??= {};
switch (method) {
case HTTPMethod.get:
return _get(url,
params: params,
cancelToken: cancelToken,
showProgress: showProgress,
responseType: responseType);
case HTTPMethod.post:
return _post(url,
params: params,
body: body,
bodyString: bodyString,
cancelToken: cancelToken,
showProgress: showProgress,
isFormData: isFormData,
includeNon2xxBody: includeNon2xxBody);
case HTTPMethod.put:
return _put(url,
params: params,
body: body,
bodyString: bodyString,
cancelToken: cancelToken,
showProgress: showProgress,
isFormData: isFormData);
case HTTPMethod.patch:
return _patch(url,
params: params,
body: body,
cancelToken: cancelToken,
showProgress: showProgress);
case HTTPMethod.delete:
return _delete(url, params: params, cancelToken: cancelToken);
}
} catch (e) {
DioException(error: "Certificate", requestOptions: RequestOptions());
}
// } else {
// throw DioError(
// error: "no_internet_connection",
// type: DioErrorType.connectTimeout,
// response: Response(
// statusMessage: "no_internet_connection",
// statusCode: 800,
// requestOptions: RequestOptions(path: '')),
// requestOptions: RequestOptions(path: ''));
// }
}