protected ProgressEvent handleRequest()

in aws-amplify-branch/src/main/java/software/amazon/amplify/branch/CreateHandler.java [17:51]


    protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
        final AmazonWebServicesClientProxy proxy,
        final ResourceHandlerRequest<ResourceModel> request,
        final CallbackContext callbackContext,
        final ProxyClient<AmplifyClient> proxyClient,
        final Logger logger) {

        this.logger = logger;
        final ResourceModel model = request.getDesiredResourceState();
        logger.log("INFO: requesting with model: " + model);

        if (model.getArn() != null) {
            throw new CfnInvalidRequestException(String.format("Attempted to provide value to a read-only property: %s", model.getArn()));
        }

        return ProgressEvent.progress(request.getDesiredResourceState(), callbackContext)
            .then(progress ->
                proxy.initiate("AWS-Amplify-Branch::Create", proxyClient, model, callbackContext)
                    .translateToServiceRequest(Translator::translateToCreateRequest)
                    .makeServiceCall((createBranchRequest, proxyInvocation) -> {
                        CreateBranchResponse createBranchResponse = (CreateBranchResponse) ClientWrapper.execute(
                                proxy,
                                createBranchRequest,
                                proxyInvocation.client()::createBranch,
                                ResourceModel.TYPE_NAME,
                                model.getArn(),
                                logger
                        );
                        setResourceModelId(model, createBranchResponse.branch());
                        return createBranchResponse;
                    })
                    .progress()
               )
                .then(progress -> new ReadHandler().handleRequest(proxy, request, callbackContext, proxyClient, logger));
    }