override fun oauthAccess()

in src/main/kotlin/jetbrains/buildServer/notification/slackNotifier/slack/SlackWebApiImpl.kt [140:165]


    override fun oauthAccess(
            clientId: String,
            clientSecret: String,
            code: String,
            redirectUrl: String
    ): OauthAccessToken = readOnlyRequest {
        val encodedSecret = Base64.getEncoder().encodeToString("$clientId:$clientSecret".toByteArray())

        val response = request(
                "oauth.access",
                "",
                parameters = listOf(
                        Pair("code", code),
                        Pair("redirect_uri", redirectUrl)
                ),
                headers = mapOf(
                        "Authorization" to "Basic $encodedSecret"
                )
        )

        if (response.isException || response.message == null) {
            OauthAccessToken(ok = false, error = response.message ?: unknownError)
        } else {
            mapper.readValue(response.message, OauthAccessToken::class.java)
        }
    }