@Override
    protected boolean sendMessageToEndpoint(final HttpMessage msg, final SingleLogoutRequestContext request, final SingleLogoutMessage logoutMessage) {

        val payload = logoutMessage.getPayload();
        HttpResponse response = null;
        try {
            val exec = HttpExecutionRequest.builder()
                .method(HttpMethod.POST)
                .url(msg.getUrl().toExternalForm())
                .entity("logout_token=" + payload)
                .headers(CollectionUtils.wrap(HttpHeaders.CONTENT_TYPE, msg.getContentType()))
                .build();
            response = HttpUtils.execute(exec);
            if (response != null && !Objects.requireNonNull(HttpStatus.resolve(response.getCode())).isError()) {
                LOGGER.trace("Received OK logout response");
                return true;
            }
        } finally {
            HttpUtils.close(response);
        }
        LOGGER.warn("No (successful) logout response received from the url [{}]", msg.getUrl().toExternalForm());
        return false;
    }
The message handler for the OIDC protocol.

@author Jerome LELEU
@since 6.2.0
support/cas-server-support-oidc-core-api/src/main/java/org/apereo/cas/oidc/slo/OidcSingleLogoutServiceMessageHandler.java