List of usage examples for io.netty.handler.codec.http DefaultHttpHeaders add
@Override
public HttpHeaders add(CharSequence name, Iterable<?> values)
From source file:com.difference.historybook.proxy.littleproxy.LittleProxyResponseTest.java
License:Apache License
@Test public void testGetHeaders() { DefaultHttpHeaders headers = new DefaultHttpHeaders(); headers.add("header1", "value1"); headers.add("header2", "value2"); FullHttpResponse response = mock(FullHttpResponse.class); when(response.headers()).thenReturn(headers); LittleProxyResponse lpr = new LittleProxyResponse(response); Map<String, String> responseHeaders = lpr.getHeaders(); assertEquals(2, responseHeaders.size()); assertEquals("value1", responseHeaders.get("header1")); assertEquals("value2", responseHeaders.get("header2")); }
From source file:com.englishtown.vertx.jersey.impl.DefaultJerseyHandlerTest.java
License:Open Source License
@Test public void testHandle_JSON_POST() throws Exception { DefaultHttpHeaders headers = new DefaultHttpHeaders(); headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON); when(request.method()).thenReturn(HttpMethod.POST); when(request.headers()).thenReturn(new HeadersAdaptor(headers)); jerseyHandler.init(options);/*from ww w . j a v a 2s. co m*/ jerseyHandler.handle(request); verify(request).handler(dataHandlerCaptor.capture()); verify(request).endHandler(endHandlerCaptor.capture()); Buffer data = Buffer.buffer("{}"); dataHandlerCaptor.getValue().handle(data); endHandlerCaptor.getValue().handle(null); verify(applicationHandlerDelegate).handle(any(ContainerRequest.class)); }
From source file:com.englishtown.vertx.jersey.impl.DefaultJerseyHandlerTest.java
License:Open Source License
@Test public void testShouldReadData() throws Exception { boolean result; DefaultHttpHeaders headers = new DefaultHttpHeaders(); headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM); when(request.method()).thenReturn(HttpMethod.GET).thenReturn(HttpMethod.PUT); when(request.headers()).thenReturn(new HeadersAdaptor(headers)); result = jerseyHandler.shouldReadData(request); assertFalse(result);//from w w w .ja v a 2s . co m result = jerseyHandler.shouldReadData(request); assertFalse(result); headers.clear(); headers.add(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN); result = jerseyHandler.shouldReadData(request); assertTrue(result); headers.clear(); headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON); result = jerseyHandler.shouldReadData(request); assertTrue(result); headers.clear(); headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED); when(request.method()).thenReturn(HttpMethod.POST); result = jerseyHandler.shouldReadData(request); assertTrue(result); headers.clear(); headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML); result = jerseyHandler.shouldReadData(request); assertTrue(result); headers.clear(); headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED + "; charset=UTF-8"); result = jerseyHandler.shouldReadData(request); assertTrue(result); }
From source file:com.github.smallcreep.bmp.client.tests.TestProxyBMPClient.java
License:Apache License
@Test public void testOverridesResponseAsResponseFilterAndType() throws Throwable { Headers headersExpected = new Headers(); List<String> accessControlAllowCredentialsList = new ArrayList<>(); accessControlAllowCredentialsList.add("test"); accessControlAllowCredentialsList.add("test2"); headersExpected.put(ACCESS_CONTROL_ALLOW_CREDENTIALS, accessControlAllowCredentialsList); List<String> accessControlMaxAgeList = new ArrayList<>(); accessControlMaxAgeList.add("test3"); headersExpected.put(ACCESS_CONTROL_MAX_AGE, accessControlMaxAgeList); io.netty.handler.codec.http.HttpResponse responseOverrides = new DefaultFullHttpResponse( HttpVersion.HTTP_1_1, HttpResponseStatus.FORBIDDEN); for (String headers : headersExpected.keySet()) { for (String headersValue : headersExpected.get(headers)) { responseOverrides.headers().add(headers, headersValue); }/* w w w . j a v a2 s. c o m*/ } HttpMessageContents contents = new HttpMessageContents( new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.FORBIDDEN)); contents.setTextContents("<html><body>Response successfully intercepted</body></html>"); List<FilterUrls> filterUrls = new ArrayList<>(); DefaultHttpHeaders httpHeaders = new DefaultHttpHeaders(); httpHeaders.add(HttpHeaders.Names.CONTENT_TYPE, "text/css"); filterUrls.add(new FilterUrls("^http:\\/\\/search\\.maven\\.org\\/(.*)$", HttpMethod.GET, httpHeaders)); BMPResponseFilter bmpResponseFilter = new BMPResponseFilter(responseOverrides, contents, null, filterUrls); getBmpLittleProxy().setFilterResponse(bmpResponseFilter); Unirest.setProxy(new HttpHost(getBmpLittleProxy().getAddress(), getBmpLittleProxy().getPort())); HttpResponse<String> response = Unirest.get("http://search.maven.org/ajaxsolr/css/central.css").asString(); assertOverrideResponseEquals(accessControlAllowCredentialsList, accessControlMaxAgeList, response); response = Unirest.get("http://search.maven.org/test.html").asString(); assertOverrideResponseNotEquals(accessControlAllowCredentialsList, accessControlMaxAgeList, response); response = Unirest.get("http://search.maven.org/").asString(); assertOverrideResponseNotEquals(accessControlAllowCredentialsList, accessControlMaxAgeList, response); }
From source file:com.king.platform.net.http.HttpResponseTest.java
License:Apache License
@Test public void getHeaderShouldBeCaseInsensitive() throws Exception { DefaultHttpHeaders defaultHttpHeaders = new DefaultHttpHeaders(); defaultHttpHeaders.add("Accept", "*/*"); HttpResponse httpResponse = new HttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, null, defaultHttpHeaders);/*from ww w . j a v a2 s. c o m*/ assertEquals("*/*", httpResponse.getHeader("Accept")); assertEquals("*/*", httpResponse.getHeader("ACCEPT")); assertEquals("*/*", httpResponse.getHeader("accept")); }
From source file:com.king.platform.net.http.HttpResponseTest.java
License:Apache License
@Test public void getHeadersShouldBeCaseInsensitive() throws Exception { DefaultHttpHeaders defaultHttpHeaders = new DefaultHttpHeaders(); defaultHttpHeaders.add("Accept", "*/*"); defaultHttpHeaders.add("ACCEPT", "*/*"); defaultHttpHeaders.add("accept", "*/*"); HttpResponse httpResponse = new HttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, null, defaultHttpHeaders);/*from w w w . ja va 2s.co m*/ List<String> headers = httpResponse.getHeaders("accept"); assertEquals(3, headers.size()); for (String header : headers) { assertEquals("*/*", header); } }
From source file:com.king.platform.net.http.HttpResponseTest.java
License:Apache License
@Test public void getAllHeaders() throws Exception { DefaultHttpHeaders defaultHttpHeaders = new DefaultHttpHeaders(); defaultHttpHeaders.add("Accept", "*/*"); defaultHttpHeaders.add("ACCEPT", "*/*"); defaultHttpHeaders.add("accept", "*/*"); HttpResponse httpResponse = new HttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, null, defaultHttpHeaders);//from www .ja v a 2 s . c o m List<Map.Entry<String, String>> allHeaders = httpResponse.getAllHeaders(); assertEquals(3, allHeaders.size()); for (Map.Entry<String, String> entry : allHeaders) { assertEquals("*/*", entry.getValue()); } }
From source file:com.vmware.xenon.common.test.websockets.JsWebSocket.java
License:Open Source License
/** * Standard constructor WebSocket(uri) available in JavaScript API * * @param endpointUri Websocket endpoint URI */// www. j a va 2s . c om public JsWebSocket(String endpointUri) throws Exception { URI uri = new URI(endpointUri); String scheme = uri.getScheme() == null ? WS_SCHEME : uri.getScheme(); final String host = uri.getHost() == null ? ServiceHost.LOCAL_HOST : uri.getHost(); final int port; if (uri.getPort() == -1) { if (WS_SCHEME.equalsIgnoreCase(scheme)) { port = 80; } else if (WSS_SCHEME.equalsIgnoreCase(scheme)) { port = 443; } else { port = -1; } } else { port = uri.getPort(); } if (!WS_SCHEME.equalsIgnoreCase(scheme) && !WSS_SCHEME.equalsIgnoreCase(scheme)) { System.err.println("Only WS(S) is supported."); return; } final boolean ssl = WSS_SCHEME.equalsIgnoreCase(scheme); final SslContext sslCtx; if (ssl) { sslCtx = SslContextBuilder.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build(); } else { sslCtx = null; } this.group = new NioEventLoopGroup(); // Connect with V13 (RFC 6455 aka HyBi-17). You can change it to V08 or V00. // If you change it to V00, ping is not supported and remember to change // HttpResponseDecoder to WebSocketHttpResponseDecoder in the pipeline. DefaultHttpHeaders headers = new DefaultHttpHeaders(); if (OperationContext.getAuthorizationContext() != null && OperationContext.getAuthorizationContext().getToken() != null) { headers.add(HttpHeaderNames.COOKIE, CookieJar.encodeCookies( Collections.singletonMap(AuthenticationConstants.REQUEST_AUTH_TOKEN_COOKIE, OperationContext.getAuthorizationContext().getToken()))); } final WebSocketClientHandler handler = new WebSocketClientHandler( WebSocketClientHandshakerFactory.newHandshaker(uri, WebSocketVersion.V13, null, false, headers)); Bootstrap b = new Bootstrap(); b.group(this.group).channel(NioSocketChannel.class).handler(new ChannelInitializer<SocketChannel>() { @Override protected void initChannel(SocketChannel ch) { ChannelPipeline p = ch.pipeline(); if (sslCtx != null) { p.addLast(sslCtx.newHandler(ch.alloc(), host, port)); } p.addLast(new HttpClientCodec(), new HttpObjectAggregator(8192), handler); } }); this.channel = b.connect(uri.getHost(), port).sync().channel(); handler.handshakeFuture.addListener(new ChannelFutureListener() { @Override public void operationComplete(ChannelFuture future) throws Exception { try { JsExecutor.executeSynchronously(() -> { if (future.isSuccess()) { if (JsWebSocket.this.onopen != null) { JsWebSocket.this.onopen.call(Context.getCurrentContext(), getParentScope(), JsWebSocket.this, new Object[] { null }); } } else { throw new RuntimeException(future.cause()); } }); } catch (Exception e) { e.printStackTrace(); } } }); }
From source file:org.ballerinalang.net.http.nativeimpl.connection.AcceptWebSocketUpgrade.java
License:Open Source License
@Override public void execute(Context context, CallableUnitCallback callback) { BMap<String, BValue> httpConnection = (BMap<String, BValue>) context.getRefArgument(0); WebSocketHandshaker webSocketHandshaker = (WebSocketHandshaker) httpConnection .getNativeData(WebSocketConstants.WEBSOCKET_MESSAGE); WebSocketConnectionManager connectionManager = (WebSocketConnectionManager) httpConnection .getNativeData(HttpConstants.NATIVE_DATA_WEBSOCKET_CONNECTION_MANAGER); if (webSocketHandshaker == null) { throw new BallerinaConnectorException( "Not a WebSocket upgrade request. Cannot upgrade from HTTP to WS"); }//w w w . jav a 2 s. c om if (connectionManager == null) { throw new BallerinaConnectorException( "Cannot accept a WebSocket upgrade without WebSocket " + "connection manager"); } WebSocketService webSocketService = (WebSocketService) httpConnection .getNativeData(WebSocketConstants.WEBSOCKET_SERVICE); BMap<String, BString> headers = (BMap<String, BString>) context.getRefArgument(1); DefaultHttpHeaders httpHeaders = new DefaultHttpHeaders(); String[] keys = headers.keys(); for (String key : keys) { httpHeaders.add(key, headers.get(key)); } WebSocketUtil.handleHandshake(webSocketService, connectionManager, httpHeaders, webSocketHandshaker, context, callback); }
From source file:org.ballerinalang.test.util.websocket.client.WebSocketClient.java
License:Open Source License
/** * @return true if the handshake is done properly. * @throws URISyntaxException throws if there is an error in the URI syntax. * @throws InterruptedException throws if the connecting the server is interrupted. *//*from ww w . java2s . co m*/ public boolean handhshake() throws InterruptedException, URISyntaxException, SSLException { boolean isDone = false; URI uri = new URI(url); String scheme = uri.getScheme() == null ? "ws" : uri.getScheme(); final String host = uri.getHost() == null ? "127.0.0.1" : uri.getHost(); final int port; if (uri.getPort() == -1) { if ("ws".equalsIgnoreCase(scheme)) { port = 80; } else if ("wss".equalsIgnoreCase(scheme)) { port = 443; } else { port = -1; } } else { port = uri.getPort(); } if (!"ws".equalsIgnoreCase(scheme) && !"wss".equalsIgnoreCase(scheme)) { logger.error("Only WS(S) is supported."); return false; } final boolean ssl = "wss".equalsIgnoreCase(scheme); final SslContext sslCtx; if (ssl) { sslCtx = SslContextBuilder.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build(); } else { sslCtx = null; } group = new NioEventLoopGroup(); DefaultHttpHeaders httpHeaders = new DefaultHttpHeaders(); headers.entrySet().forEach(header -> { httpHeaders.add(header.getKey(), header.getValue()); }); try { // Connect with V13 (RFC 6455 aka HyBi-17). You can change it to V08 or V00. // If you change it to V00, ping is not supported and remember to change // HttpResponseDecoder to WebSocketHttpResponseDecoder in the pipeline. handler = new WebSocketClientHandler(WebSocketClientHandshakerFactory.newHandshaker(uri, WebSocketVersion.V13, null, true, httpHeaders)); Bootstrap b = new Bootstrap(); b.group(group).channel(NioSocketChannel.class).handler(new ChannelInitializer<SocketChannel>() { @Override protected void initChannel(SocketChannel ch) { ChannelPipeline p = ch.pipeline(); if (sslCtx != null) { p.addLast(sslCtx.newHandler(ch.alloc(), host, port)); } p.addLast(new HttpClientCodec(), new HttpObjectAggregator(8192), WebSocketClientCompressionHandler.INSTANCE, handler); } }); channel = b.connect(uri.getHost(), port).sync().channel(); isDone = handler.handshakeFuture().sync().isSuccess(); } catch (Exception e) { logger.error("Handshake unsuccessful : " + e.getMessage(), e); return false; } logger.info("WebSocket Handshake successful : " + isDone); return isDone; }