public static void buildImmediateResponse()

in callouts/java/service-callout/src/main/java/service/ServiceCalloutTools.java [149:186]


    public static void buildImmediateResponse(
            ImmediateResponse.Builder builder,
            HttpStatus status,
            ImmutableMap<String, String> headersToAdd,
            List<String> headersToRemove,
            String body) {

        // Set the HTTP status
        builder.setStatus(status);

        // Obtain HeaderMutation.Builder from the parent ImmediateResponse.Builder
        HeaderMutation.Builder headerMutationBuilder = builder.getHeadersBuilder();

        // Handle adding headers
        if (headersToAdd != null) {
            for (Map.Entry<String, String> entry : headersToAdd.entrySet()) {
                HeaderValueOption headerOption = HeaderValueOption.newBuilder()
                        .setHeader(HeaderValue.newBuilder()
                                .setKey(entry.getKey())
                                .setRawValue(ByteString.copyFromUtf8(entry.getValue()))
                                .build()
                        )
                        .build();

                headerMutationBuilder.addSetHeaders(headerOption);
            }
        }

        // Handle removing headers
        if (headersToRemove != null) {
            headerMutationBuilder.addAllRemoveHeaders(headersToRemove);
        }

        // Set the body if it is not null
        if (body != null) {
            builder.setBody(body);
        }
    }