
com.ithit.webdav.integration.servlet.websocket.DavHttpSessionConfigurator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jakarta-integration Show documentation
Show all versions of jakarta-integration Show documentation
IT Hit WebDAV integration for new Jakarta Java servlet containers
package com.ithit.webdav.integration.servlet.websocket;
import jakarta.websocket.HandshakeResponse;
import jakarta.websocket.server.HandshakeRequest;
import jakarta.websocket.server.ServerEndpointConfig;
import static com.ithit.webdav.integration.utils.IntegrationUtil.INSTANCE_HEADER_NAME;
/**
* Dav specific configuration class for WebSockets. Puts 'InstanceId' header in the
* session UserProperties.
*/
public class DavHttpSessionConfigurator extends ServerEndpointConfig.Configurator {
@Override
public void modifyHandshake(ServerEndpointConfig config,
HandshakeRequest request,
HandshakeResponse response) {
config.getUserProperties().put(INSTANCE_HEADER_NAME, request.getHeaders()
.entrySet()
.stream()
.filter(x -> x.getKey().equalsIgnoreCase(INSTANCE_HEADER_NAME))
.findFirst().map(x -> {
if (!x.getValue().isEmpty()) {
return x.getValue().get(0);
}
return "";
})
.orElse(""));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy