public ProgressEvent handleRequest()

in aws-codeartifact-domain/src/main/java/software/amazon/codeartifact/domain/ListHandler.java [24:54]


    public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
        final AmazonWebServicesClientProxy proxy,
        final ResourceHandlerRequest<ResourceModel> request,
        final CallbackContext callbackContext,
        final Logger logger) {

        // STEP 1 [Construct a body of a request]
        final ListDomainsRequest awsRequest = Translator.translateToListRequest(request.getNextToken());

        // STEP 2 [make an api call]
        ListDomainsResponse response = null;
        try {
            response = proxy
                .injectCredentialsAndInvokeV2(awsRequest, ClientBuilder.getClient()::listDomains);
        } catch (AccessDeniedException e) {
            throw new CfnAccessDeniedException(Constants.LIST_DOMAINS, e);
        } catch (ValidationException e) {
            throw new CfnInvalidRequestException(e);
        } catch (InternalServerException e) {
            throw new CfnServiceInternalErrorException(e);
        }

        // STEP 3 [get a token for the next page]
        String nextToken = response.nextToken();

        return ProgressEvent.<ResourceModel, CallbackContext>builder()
            .resourceModels(Translator.translateFromListRequest(response, request))
            .nextToken(nextToken)
            .status(OperationStatus.SUCCESS)
            .build();
    }