put method
Implementation
Future<Response?> put(
String apiPath, {
Object? body,
bool jsonEncodeBody = true,
}) async {
Logger.log(
"--------> START OF PUT API CALL <--------",
type: LogType.api,
tag: "DF-API-CLIENT",
);
Object? requestBody = body;
final client = http.Client();
if (jsonEncodeBody && body != null) {
requestBody = jsonEncode(body);
}
Uri apiUri = _generateApiUri(apiPath);
return _processApiCall(
httpApiConfig.maxRetryAttempts,
apiCall: () async {
return await client
.put(
apiUri,
encoding: httpApiConfig.encoding,
body: requestBody,
headers: httpApiConfig.headers,
)
.timeout(
Duration(seconds: httpApiConfig.timeout),
onTimeout: () => throw Exception(
"API Timeout exception, no response from the server for: $apiPath",
),
);
},
onFinish: client.close,
);
}