All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.dft.amazon.RotateApplicationClientSecretAPI Maven / Gradle / Ivy

There is a newer version: 2.1.15
Show newest version
package io.github.dft.amazon;

import io.github.dft.amazon.constantcode.ConstantCodes;
import io.github.dft.amazon.model.AmazonCredentials;
import io.github.dft.amazon.model.auth.AccessTokenResponse;
import lombok.SneakyThrows;

import java.net.URI;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

import static io.github.dft.amazon.constantcode.ConstantCodes.HTTP_HEADER_X_AMZ_ACCESS_TOKEN;
import static io.github.dft.amazon.constantcode.ConstantCodes.ROTATE_APPLICATION_CLIENT_SECRET_API_V202311;

public class RotateApplicationClientSecretAPI extends AmazonSellingPartnerSdk {

    private final AmazonSPTokens amazonSPTokens;

    public RotateApplicationClientSecretAPI(AmazonCredentials amazonCredentials) {
        super(amazonCredentials);
        this.amazonSPTokens = new AmazonSPTokens(amazonCredentials);
    }

    @SneakyThrows
    public int rotateClientSecret() {
        AccessTokenResponse accessTokenResponse = amazonSPTokens.createLWAToken();
        URI uri = URI.create(sellingRegionEndpoint + ROTATE_APPLICATION_CLIENT_SECRET_API_V202311);

        HttpRequest request = HttpRequest.newBuilder(uri)
                                         .header(HTTP_HEADER_X_AMZ_ACCESS_TOKEN, accessTokenResponse.getAccessToken())
                                         .header(ConstantCodes.HTTP_HEADER_ACCEPTS, ConstantCodes.HTTP_HEADER_VALUE_APPLICATION_JSON)
                                         .POST(HttpRequest.BodyPublishers.noBody())
                                         .build();

        return client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
                     .get()
                     .statusCode();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy