tryPut

suspend fun <T> tryPut(resource: String, body: RequestBody? = null, headers: Map<String, Any>? = FetchDefaults.Headers, redirect: RequestRedirect? = FetchDefaults.Redirect, abortController: AbortController? = null, transform: suspend Response.() -> T): T?(source)

Like put, but returns null instead of throwing if the request fails.

This method also provides a transform step which you can use to convert the response into a different type. You are generally encouraged to call tryPut(...) { convert() } over tryPut(...)?.convert() as the former will ensure that exception handling is covered in that case.

Additionally, if logOnError is set to true, any failure will be logged to the console (including the logic in the transform block).

If you do not care about converting the result, use the tryPut version that returns Response? instead.


suspend fun tryPut(resource: String, body: RequestBody? = null, headers: Map<String, Any>? = FetchDefaults.Headers, redirect: RequestRedirect? = FetchDefaults.Redirect, abortController: AbortController? = null): Response?(source)

Like put, but returns null instead of throwing if the request fails.

Additionally, if logOnError is set to true, any failure will be logged to the console.

If you plan to do additional operations on the response and would also like to have logging / exception protection for them, consider using the other tryPut call which lets you pass in a transform callback. You are generally encouraged to call tryPut(...) { convert() } over tryPut(...)?.convert().