Refine search
public class ServletAwareConfig extends ServerEndpointConfig.Configurator { @Override public void modifyHandshake(ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response) { HttpSession httpSession = (HttpSession) request.getHttpSession(); config.getUserProperties().put("httpSession", httpSession); } }
if(endpoint != null) { container.addEndpoint(endpoint); addManagementWebsocket(deploymentUnit, endpoint.getEndpointClass(), endpoint.getPath());
public BasicServerEndpointConfig(WebSocketContainerScope containerScope, ServerEndpointConfig copy) { // immutable concepts this.endpointClass = copy.getEndpointClass(); this.path = copy.getPath(); this.decoders = copy.getDecoders(); this.encoders = copy.getEncoders(); this.subprotocols = copy.getSubprotocols(); this.extensions = copy.getExtensions(); ServerEndpointConfig.Configurator cfgr; if (copy.getConfigurator() != null) { cfgr = copy.getConfigurator(); } else { cfgr = new ContainerDefaultConfigurator(); } // Make sure all Configurators obtained are decorated this.configurator = containerScope.getObjectFactory().decorate(cfgr); // mutable concepts this.userProperties = new HashMap<>(copy.getUserProperties()); }
manualConfigurator = baseConfig.getConfigurator(); if (baseConfig != null && baseConfig.getDecoders() != null && baseConfig.getDecoders().size() > 0) this.decoders = Collections.unmodifiableList(baseConfig.getDecoders()); if (baseConfig != null && baseConfig.getEncoders() != null && baseConfig.getEncoders().size() > 0) this.encoders = Collections.unmodifiableList(baseConfig.getEncoders()); if (baseConfig != null && baseConfig.getSubprotocols() != null && baseConfig.getSubprotocols().size() > 0) this.subprotocols = Collections.unmodifiableList(baseConfig.getSubprotocols()); if (baseConfig != null && baseConfig.getPath() != null && baseConfig.getPath().length() > 0) this.path = baseConfig.getPath(); if (baseConfig != null && baseConfig.getUserProperties() != null && baseConfig.getUserProperties().size() > 0) userProperties.putAll(baseConfig.getUserProperties());
throw new DeploymentException(sm.getString("serverContainer.servletContextMissing")); String path = sec.getPath(); PojoMethodMapping methodMapping = new PojoMethodMapping(sec.getEndpointClass(), sec.getDecoders(), path); if (methodMapping.getOnClose() != null || methodMapping.getOnOpen() != null || methodMapping.getOnError() != null || methodMapping.hasMessageHandlers()) { sec.getUserProperties().put(org.apache.tomcat.websocket.pojo.Constants.POJO_METHOD_MAPPING_KEY, methodMapping); throw new DeploymentException(sm.getString("serverContainer.duplicatePaths", path, sec.getEndpointClass(), sec.getEndpointClass())); if (old != null) { throw new DeploymentException(sm.getString("serverContainer.duplicatePaths", path, old.getEndpointClass(), sec.getEndpointClass()));
@Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("SimpleServerEndpointMetadata ["); builder.append("config=").append(config.getClass().getName()); builder.append(",path=").append(config.getPath()); builder.append(",endpoint=").append(config.getEndpointClass()); builder.append(",decoders=").append(config.getDecoders()); builder.append(",encoders=").append(config.getEncoders()); builder.append("]"); return builder.toString(); } }
@Override public void onOpen(Session session, EndpointConfig endpointConfig) { ServerEndpointConfig sec = (ServerEndpointConfig) endpointConfig; Object pojo; try { pojo = sec.getConfigurator().getEndpointInstance( sec.getEndpointClass()); } catch (InstantiationException e) { throw new IllegalArgumentException(sm.getString( "pojoEndpointServer.getPojoInstanceFail", sec.getEndpointClass().getName()), e); } setPojo(pojo); @SuppressWarnings("unchecked") Map<String,String> pathParameters = (Map<String, String>) sec.getUserProperties().get( POJO_PATH_PARAM_KEY); setPathParameters(pathParameters); PojoMethodMapping methodMapping = (PojoMethodMapping) sec.getUserProperties().get( POJO_METHOD_MAPPING_KEY); setMethodMapping(methodMapping); doOnOpen(session, endpointConfig); } }
@Override public String getPath() { return delegate.getPath(); }
@Override public Class<?> getEndpointClass() { return delegate.getEndpointClass(); }
@Override public Configurator getConfigurator() { return perEndpointConfig.getConfigurator(); } }
@Override public List<Extension> getExtensions() { return delegate.getExtensions(); }
@Override public List<String> getSubprotocols() { return delegate.getSubprotocols(); }
@Override public List<Class<? extends Encoder>> getEncoders() { return delegate.getEncoders(); }
@Override public List<Class<? extends Decoder>> getDecoders() { return delegate.getDecoders(); }
@Override public String getPath() { return config.getPath(); }
@Override public Class<?> getEndpointClass() { return delegate.getEndpointClass(); }
@Override public Configurator getConfigurator() { return perEndpointConfig.getConfigurator(); } }
@Override public List<Extension> getExtensions() { return delegate.getExtensions(); }
@Override public List<String> getSubprotocols() { return delegate.getSubprotocols(); }
@Override public List<Class<? extends Encoder>> getEncoders() { return delegate.getEncoders(); }