put method
Executes a HTTP PUT request for the given apiPath.
If jsonEncodeBody is true, the body will be JSON-encoded.
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;
if (jsonEncodeBody && body != null) {
requestBody = jsonEncode(body);
}
Uri apiUri = _generateApiUri(apiPath);
return _processApiCall(
apiPath: apiPath,
httpApiConfig.maxRetryAttempts,
apiCall: () async {
return await httpClient
.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",
),
);
},
);
}