suspend fun post()

in amazon-chime-sdk/src/main/java/com/amazonaws/services/chime/sdk/meetings/internal/utils/HttpUtils.kt [36:59]


    suspend fun post(
        url: URL,
        body: String,
        backOffRetry: BackOffRetry = DefaultBackOffRetry(),
        logger: Logger? = null,
        headers: Map<String, String> = emptyMap()
    ): HttpResponse {
        var response: HttpResponse
        do {
            response = makePostRequest(url, body, logger, headers)
            if (response.httpException == null || !backOffRetry.isRetryableCode(
                    response.httpException?.errorCode ?: 0
                )
            ) {
                return response
            }
            backOffRetry.incrementRetryCount()
            val waitTime = backOffRetry.calculateBackOff()
            if (waitTime > 0) {
                delay(waitTime)
            }
        } while (backOffRetry.isRetryCountLimitReached())
        return response
    }