All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ithit.webdav.integration.spring.websocket.HandshakeHeadersInterceptor Maven / Gradle / Ivy

There is a newer version: 7.3.10641
Show newest version
package com.ithit.webdav.integration.spring.websocket;

import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.server.HandshakeInterceptor;

import java.util.Map;

import static com.ithit.webdav.integration.utils.IntegrationUtil.INSTANCE_HEADER_NAME;

public class HandshakeHeadersInterceptor implements HandshakeInterceptor {

    @Override
    public boolean beforeHandshake(ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse, WebSocketHandler webSocketHandler, Map map) throws Exception {
        map.put(INSTANCE_HEADER_NAME, serverHttpRequest.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(""));
        return true;
    }

    @Override
    public void afterHandshake(ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse, WebSocketHandler webSocketHandler, Exception e) {

    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy