withRequest

inline suspend fun <ENDPOINT : MatrixEndpoint<Unit, RESPONSE>, RESPONSE, T> withRequest(endpoint: ENDPOINT, requestBuilder: HttpRequestBuilder.() -> Unit = {}, noinline responseHandler: suspend (RESPONSE) -> T): Result<T>
inline suspend fun <ENDPOINT : MatrixEndpoint<REQUEST, RESPONSE>, REQUEST, RESPONSE, T> withRequest(endpoint: ENDPOINT, body: REQUEST, requestBuilder: HttpRequestBuilder.() -> Unit = {}, noinline responseHandler: suspend (RESPONSE) -> T): Result<T>