public void onRequestHeaders()

in callouts/java/service-callout/src/main/java/example/JwtAuth.java [185:210]


    public void onRequestHeaders(ProcessingResponse.Builder processingResponseBuilder, HttpHeaders headers) {

        // Validate the JWT token
        Claims decoded = validateJwtToken(headers);

        if (decoded != null) {
            // Token is valid, add decoded items as header mutations
            Map<String, String> decodedItems = new HashMap<>();
            decoded.forEach((key, value) -> decodedItems.put("decoded-" + key, value.toString()));

            // Assuming addHeaderMutations adds the headers and returns a HeadersResponse
            ServiceCalloutTools.addHeaderMutations(
                    processingResponseBuilder.getRequestHeadersBuilder(),
                    decodedItems.entrySet(),  // Headers to add
                    null,                      // No headers to remove
                    true,                      // Clear route cache
                    null                       // No append action
            );
        } else {
            // Token is invalid, deny the request
            ServiceCalloutTools.denyCallout(
                    processingResponseBuilder.getResponseHeadersBuilder(),
                    "Authorization token is invalid"
            );
        }
    }