本文整理汇总了Java中org.springframework.web.socket.WebSocketHttpHeaders类的典型用法代码示例。如果您正苦于以下问题:Java WebSocketHttpHeaders类的具体用法?Java WebSocketHttpHeaders怎么用?Java WebSocketHttpHeaders使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
WebSocketHttpHeaders类属于org.springframework.web.socket包,在下文中一共展示了WebSocketHttpHeaders类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: openConnection
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Test
public void openConnection() throws Exception {
List<String> subprotocols = Arrays.asList("abc");
TestLifecycleWebSocketClient client = new TestLifecycleWebSocketClient(false);
WebSocketHandler handler = new TextWebSocketHandler();
WebSocketConnectionManager manager = new WebSocketConnectionManager(client, handler , "/path/{id}", "123");
manager.setSubProtocols(subprotocols);
manager.openConnection();
WebSocketHttpHeaders expectedHeaders = new WebSocketHttpHeaders();
expectedHeaders.setSecWebSocketProtocol(subprotocols);
assertEquals(expectedHeaders, client.headers);
assertEquals(new URI("/path/123"), client.uri);
WebSocketHandlerDecorator loggingHandler = (WebSocketHandlerDecorator) client.webSocketHandler;
assertEquals(LoggingWebSocketHandlerDecorator.class, loggingHandler.getClass());
assertSame(handler, loggingHandler.getDelegate());
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:23,代码来源:WebSocketConnectionManagerTests.java
示例2: WampClient
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
public WampClient(DataFormat dataFormat) {
this.isBinary = dataFormat != DataFormat.JSON;
this.result = new CompletableFutureWebSocketHandler();
this.headers = new WebSocketHttpHeaders();
switch (dataFormat) {
case CBOR:
this.jsonFactory = new ObjectMapper(new CBORFactory()).getFactory();
this.headers.setSecWebSocketProtocol(WampSubProtocolHandler.CBOR_PROTOCOL);
break;
case MSGPACK:
this.jsonFactory = new ObjectMapper(new MessagePackFactory()).getFactory();
this.headers.setSecWebSocketProtocol(WampSubProtocolHandler.MSGPACK_PROTOCOL);
break;
case JSON:
this.jsonFactory = new MappingJsonFactory(new ObjectMapper());
this.headers.setSecWebSocketProtocol(WampSubProtocolHandler.JSON_PROTOCOL);
break;
case SMILE:
this.jsonFactory = new ObjectMapper(new SmileFactory()).getFactory();
this.headers.setSecWebSocketProtocol(WampSubProtocolHandler.SMILE_PROTOCOL);
break;
default:
this.jsonFactory = null;
}
}
开发者ID:ralscha,项目名称:wamp2spring,代码行数:28,代码来源:WampClient.java
示例3: getHeaders
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
protected WebSocketHttpHeaders getHeaders(DataFormat dataFormat) {
WebSocketHttpHeaders headers = new WebSocketHttpHeaders();
if (dataFormat == DataFormat.MSGPACK) {
headers.setSecWebSocketProtocol(WampSubProtocolHandler.MSGPACK_PROTOCOL);
}
else if (dataFormat == DataFormat.SMILE) {
headers.setSecWebSocketProtocol(WampSubProtocolHandler.SMILE_PROTOCOL);
}
else if (dataFormat == DataFormat.CBOR) {
headers.setSecWebSocketProtocol(WampSubProtocolHandler.CBOR_PROTOCOL);
}
else {
headers.setSecWebSocketProtocol(WampSubProtocolHandler.JSON_PROTOCOL);
}
return headers;
}
开发者ID:ralscha,项目名称:wamp2spring,代码行数:18,代码来源:BaseWampTest.java
示例4: getWebSocketHttpHeaders
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
public WebSocketHttpHeaders getWebSocketHttpHeaders(
WebSocketSession userAgentSession) {
WebSocketHttpHeaders headers = new WebSocketHttpHeaders();
Principal principal = userAgentSession.getPrincipal();
if (principal != null) {
Authentication authentication = (Authentication) principal;
String usernameColonPwd = authentication.getName() + ":"
+ authentication.getCredentials().toString();
String encodedCredentials = new String(
Base64.encode(usernameColonPwd.getBytes()));
headers.put(HttpHeaders.AUTHORIZATION,
Collections.singletonList("Basic " + encodedCredentials));
if(logger.isDebugEnabled()) {
logger.debug("Added basic authentication header for user " + principal.getName() + " to web sockets http headers");
}
}
else {
if(logger.isDebugEnabled()) {
logger.debug("Skipped adding basic authentication header since user session principal is null");
}
}
return headers;
}
开发者ID:mthizo247,项目名称:spring-cloud-netflix-zuul-websocket,代码行数:24,代码来源:BasicAuthPrincipalHeadersCallback.java
示例5: getWebSocketHttpHeaders
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Override
public WebSocketHttpHeaders getWebSocketHttpHeaders(final WebSocketSession userAgentSession) {
WebSocketHttpHeaders headers = new WebSocketHttpHeaders();
Principal principal = userAgentSession.getPrincipal();
if (principal != null && OAuth2Authentication.class.isAssignableFrom(principal.getClass())) {
OAuth2Authentication oAuth2Authentication = (OAuth2Authentication) principal;
OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails) oAuth2Authentication.getDetails();
String accessToken = details.getTokenValue();
headers.put(HttpHeaders.AUTHORIZATION, Collections.singletonList("Bearer " + accessToken));
if(logger.isDebugEnabled()) {
logger.debug("Added Oauth2 bearer token authentication header for user " +
principal.getName() + " to web sockets http headers");
}
}
else {
if(logger.isDebugEnabled()) {
logger.debug("Skipped adding basic authentication header since user session principal is null");
}
}
return headers;
}
开发者ID:mthizo247,项目名称:spring-cloud-netflix-zuul-websocket,代码行数:22,代码来源:OAuth2BearerPrincipalHeadersCallback.java
示例6: connect
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Override
public ListenableFuture<WebSocketSession> connect(TransportRequest request, WebSocketHandler handler) {
final SettableListenableFuture<WebSocketSession> future = new SettableListenableFuture<WebSocketSession>();
WebSocketClientSockJsSession session = new WebSocketClientSockJsSession(request, handler, future);
handler = new ClientSockJsWebSocketHandler(session);
request.addTimeoutTask(session.getTimeoutTask());
URI url = request.getTransportUrl();
WebSocketHttpHeaders headers = new WebSocketHttpHeaders(request.getHandshakeHeaders());
if (logger.isDebugEnabled()) {
logger.debug("Starting WebSocket session url=" + url);
}
this.webSocketClient.doHandshake(handler, headers, url).addCallback(
new ListenableFutureCallback<WebSocketSession>() {
@Override
public void onSuccess(WebSocketSession webSocketSession) {
// WebSocket session ready, SockJS Session not yet
}
@Override
public void onFailure(Throwable ex) {
future.setException(ex);
}
});
return future;
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:26,代码来源:WebSocketTransport.java
示例7: doHandshake
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Override
public final ListenableFuture<WebSocketSession> doHandshake(
WebSocketHandler handler, WebSocketHttpHeaders headers, URI url) {
Assert.notNull(handler, "WebSocketHandler is required");
Assert.notNull(url, "URL is required");
String scheme = url.getScheme();
if (!supportedProtocols.contains(scheme)) {
throw new IllegalArgumentException("Invalid scheme: '" + scheme + "'");
}
SettableListenableFuture<WebSocketSession> connectFuture = new SettableListenableFuture<WebSocketSession>();
try {
SockJsUrlInfo sockJsUrlInfo = new SockJsUrlInfo(url);
ServerInfo serverInfo = getServerInfo(sockJsUrlInfo, getHttpRequestHeaders(headers));
createRequest(sockJsUrlInfo, headers, serverInfo).connect(handler, connectFuture);
}
catch (Throwable exception) {
if (logger.isErrorEnabled()) {
logger.error("Initial SockJS \"Info\" request to server failed, url=" + url, exception);
}
connectFuture.setException(exception);
}
return connectFuture;
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:27,代码来源:SockJsClient.java
示例8: supportedSubProtocols
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Test
public void supportedSubProtocols() throws Exception {
this.handshakeHandler.setSupportedProtocols("stomp", "mqtt");
given(this.upgradeStrategy.getSupportedVersions()).willReturn(new String[] {"13"});
this.servletRequest.setMethod("GET");
WebSocketHttpHeaders headers = new WebSocketHttpHeaders(this.request.getHeaders());
headers.setUpgrade("WebSocket");
headers.setConnection("Upgrade");
headers.setSecWebSocketVersion("13");
headers.setSecWebSocketKey("82/ZS2YHjEnUN97HLL8tbw==");
headers.setSecWebSocketProtocol("STOMP");
WebSocketHandler handler = new TextWebSocketHandler();
Map<String, Object> attributes = Collections.<String, Object>emptyMap();
this.handshakeHandler.doHandshake(this.request, this.response, handler, attributes);
verify(this.upgradeStrategy).upgrade(this.request, this.response,
"STOMP", Collections.<WebSocketExtension>emptyList(), null, handler, attributes);
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:24,代码来源:DefaultHandshakeHandlerTests.java
示例9: supportedExtensions
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Test
public void supportedExtensions() throws Exception {
WebSocketExtension extension1 = new WebSocketExtension("ext1");
WebSocketExtension extension2 = new WebSocketExtension("ext2");
given(this.upgradeStrategy.getSupportedVersions()).willReturn(new String[] {"13"});
given(this.upgradeStrategy.getSupportedExtensions(this.request)).willReturn(Arrays.asList(extension1));
this.servletRequest.setMethod("GET");
WebSocketHttpHeaders headers = new WebSocketHttpHeaders(this.request.getHeaders());
headers.setUpgrade("WebSocket");
headers.setConnection("Upgrade");
headers.setSecWebSocketVersion("13");
headers.setSecWebSocketKey("82/ZS2YHjEnUN97HLL8tbw==");
headers.setSecWebSocketExtensions(Arrays.asList(extension1, extension2));
WebSocketHandler handler = new TextWebSocketHandler();
Map<String, Object> attributes = Collections.<String, Object>emptyMap();
this.handshakeHandler.doHandshake(this.request, this.response, handler, attributes);
verify(this.upgradeStrategy).upgrade(this.request, this.response, null, Arrays.asList(extension1),
null, handler, attributes);
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:26,代码来源:DefaultHandshakeHandlerTests.java
示例10: subProtocolCapableHandler
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Test
public void subProtocolCapableHandler() throws Exception {
given(this.upgradeStrategy.getSupportedVersions()).willReturn(new String[]{"13"});
this.servletRequest.setMethod("GET");
WebSocketHttpHeaders headers = new WebSocketHttpHeaders(this.request.getHeaders());
headers.setUpgrade("WebSocket");
headers.setConnection("Upgrade");
headers.setSecWebSocketVersion("13");
headers.setSecWebSocketKey("82/ZS2YHjEnUN97HLL8tbw==");
headers.setSecWebSocketProtocol("v11.stomp");
WebSocketHandler handler = new SubProtocolCapableHandler("v12.stomp", "v11.stomp");
Map<String, Object> attributes = Collections.<String, Object>emptyMap();
this.handshakeHandler.doHandshake(this.request, this.response, handler, attributes);
verify(this.upgradeStrategy).upgrade(this.request, this.response,
"v11.stomp", Collections.<WebSocketExtension>emptyList(), null, handler, attributes);
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:22,代码来源:DefaultHandshakeHandlerTests.java
示例11: subProtocolCapableHandlerNoMatch
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Test
public void subProtocolCapableHandlerNoMatch() throws Exception {
given(this.upgradeStrategy.getSupportedVersions()).willReturn(new String[]{"13"});
this.servletRequest.setMethod("GET");
WebSocketHttpHeaders headers = new WebSocketHttpHeaders(this.request.getHeaders());
headers.setUpgrade("WebSocket");
headers.setConnection("Upgrade");
headers.setSecWebSocketVersion("13");
headers.setSecWebSocketKey("82/ZS2YHjEnUN97HLL8tbw==");
headers.setSecWebSocketProtocol("v10.stomp");
WebSocketHandler handler = new SubProtocolCapableHandler("v12.stomp", "v11.stomp");
Map<String, Object> attributes = Collections.<String, Object>emptyMap();
this.handshakeHandler.doHandshake(this.request, this.response, handler, attributes);
verify(this.upgradeStrategy).upgrade(this.request, this.response,
null, Collections.<WebSocketExtension>emptyList(), null, handler, attributes);
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:22,代码来源:DefaultHandshakeHandlerTests.java
示例12: connectWithHandshakeHeaders
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Test
public void connectWithHandshakeHeaders() throws Exception {
ArgumentCaptor<HttpHeaders> headersCaptor = setupInfoRequest(false);
this.xhrTransport.setStreamingDisabled(true);
WebSocketHttpHeaders headers = new WebSocketHttpHeaders();
headers.set("foo", "bar");
headers.set("auth", "123");
this.sockJsClient.doHandshake(handler, headers, new URI(URL)).addCallback(this.connectCallback);
HttpHeaders httpHeaders = headersCaptor.getValue();
assertEquals(2, httpHeaders.size());
assertEquals("bar", httpHeaders.getFirst("foo"));
assertEquals("123", httpHeaders.getFirst("auth"));
httpHeaders = this.xhrTransport.getRequest().getHttpRequestHeaders();
assertEquals(2, httpHeaders.size());
assertEquals("bar", httpHeaders.getFirst("foo"));
assertEquals("123", httpHeaders.getFirst("auth"));
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:21,代码来源:SockJsClientTests.java
示例13: connectAndUseSubsetOfHandshakeHeadersForHttpRequests
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Test
public void connectAndUseSubsetOfHandshakeHeadersForHttpRequests() throws Exception {
ArgumentCaptor<HttpHeaders> headersCaptor = setupInfoRequest(false);
this.xhrTransport.setStreamingDisabled(true);
WebSocketHttpHeaders headers = new WebSocketHttpHeaders();
headers.set("foo", "bar");
headers.set("auth", "123");
this.sockJsClient.setHttpHeaderNames("auth");
this.sockJsClient.doHandshake(handler, headers, new URI(URL)).addCallback(this.connectCallback);
assertEquals(1, headersCaptor.getValue().size());
assertEquals("123", headersCaptor.getValue().getFirst("auth"));
assertEquals(1, this.xhrTransport.getRequest().getHttpRequestHeaders().size());
assertEquals("123", this.xhrTransport.getRequest().getHttpRequestHeaders().getFirst("auth"));
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:17,代码来源:SockJsClientTests.java
示例14: setUp
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
String token = authenticate();
webSocketHttpHeaders = new WebSocketHttpHeaders();
webSocketHttpHeaders.add("Authorization", "Bearer " + token);
blockingQueue = new LinkedBlockingDeque<>();
RestTemplateXhrTransport restTemplateXhrTransport = new RestTemplateXhrTransport();
SockJsClient sockJsClient = new SockJsClient(Arrays.asList(restTemplateXhrTransport));
sockJsClient.setHttpHeaderNames("Authorization");
stompClient = new WebSocketStompClient(sockJsClient);
}
开发者ID:sys-devel-d,项目名称:pimp,代码行数:15,代码来源:NotificationControllerIT.java
示例15: webSocketHttpHeadersCallback
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Bean
@ConditionalOnMissingBean(WebSocketHttpHeadersCallback.class)
public WebSocketHttpHeadersCallback webSocketHttpHeadersCallback() {
return new WebSocketHttpHeadersCallback() {
@Override
public WebSocketHttpHeaders getWebSocketHttpHeaders(
WebSocketSession userAgentSession) {
return new WebSocketHttpHeaders();
}
};
}
开发者ID:mthizo247,项目名称:spring-cloud-netflix-zuul-websocket,代码行数:12,代码来源:ZuulWebSocketConfiguration.java
示例16: doHandshake
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Override
public final ListenableFuture<WebSocketSession> doHandshake(WebSocketHandler webSocketHandler,
WebSocketHttpHeaders headers, URI uri) {
Assert.notNull(webSocketHandler, "webSocketHandler must not be null");
assertUri(uri);
if (logger.isDebugEnabled()) {
logger.debug("Connecting to " + uri);
}
HttpHeaders headersToUse = new HttpHeaders();
if (headers != null) {
for (String header : headers.keySet()) {
if (!specialHeaders.contains(header.toLowerCase())) {
headersToUse.put(header, headers.get(header));
}
}
}
List<String> subProtocols = ((headers != null) && (headers.getSecWebSocketProtocol() != null)) ?
headers.getSecWebSocketProtocol() : Collections.<String>emptyList();
List<WebSocketExtension> extensions = ((headers != null) && (headers.getSecWebSocketExtensions() != null)) ?
headers.getSecWebSocketExtensions() : Collections.<WebSocketExtension>emptyList();
return doHandshakeInternal(webSocketHandler, headersToUse, uri, subProtocols, extensions,
Collections.<String, Object>emptyMap());
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:30,代码来源:AbstractWebSocketClient.java
示例17: isWebSocketVersionSupported
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
protected boolean isWebSocketVersionSupported(WebSocketHttpHeaders httpHeaders) {
String version = httpHeaders.getSecWebSocketVersion();
String[] supportedVersions = getSupportedVersions();
for (String supportedVersion : supportedVersions) {
if (supportedVersion.trim().equals(version)) {
return true;
}
}
return false;
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:11,代码来源:AbstractHandshakeHandler.java
示例18: handleWebSocketVersionNotSupported
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
protected void handleWebSocketVersionNotSupported(ServerHttpRequest request, ServerHttpResponse response) {
if (logger.isErrorEnabled()) {
String version = request.getHeaders().getFirst("Sec-WebSocket-Version");
logger.error("Handshake failed due to unsupported WebSocket version: " + version +
". Supported versions: " + Arrays.toString(getSupportedVersions()));
}
response.setStatusCode(HttpStatus.UPGRADE_REQUIRED);
response.getHeaders().set(WebSocketHttpHeaders.SEC_WEBSOCKET_VERSION,
StringUtils.arrayToCommaDelimitedString(getSupportedVersions()));
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:11,代码来源:AbstractHandshakeHandler.java
示例19: parseWebSocketExtensions
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Test
public void parseWebSocketExtensions() {
List<String> extensions = new ArrayList<String>();
extensions.add("x-foo-extension, x-bar-extension");
extensions.add("x-test-extension");
this.headers.put(WebSocketHttpHeaders.SEC_WEBSOCKET_EXTENSIONS, extensions);
List<WebSocketExtension> parsedExtensions = this.headers.getSecWebSocketExtensions();
assertThat(parsedExtensions, Matchers.hasSize(3));
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:11,代码来源:WebSocketHttpHeadersTests.java
示例20: setup
import org.springframework.web.socket.WebSocketHttpHeaders; //导入依赖的package包/类
@Before
public void setup() {
this.headers = new WebSocketHttpHeaders();
this.wsHandler = new AbstractWebSocketHandler() {
};
this.wsContainer = mock(WebSocketContainer.class);
this.wsClient = new StandardWebSocketClient(this.wsContainer);
}
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:9,代码来源:StandardWebSocketClientTests.java
注:本文中的org.springframework.web.socket.WebSocketHttpHeaders类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论