List of usage examples for io.netty.handler.codec.http DefaultFullHttpRequest content
ByteBuf content
To view the source code for io.netty.handler.codec.http DefaultFullHttpRequest content.
Click Source Link
From source file:com.buildria.mocking.stub.CallTest.java
License:Open Source License
@Test public void testFromRequest() throws Exception { DefaultFullHttpRequest req = mock(DefaultFullHttpRequest.class); when(req.getUri()).thenReturn("/api/p?name=%E3%81%82"); when(req.getMethod()).thenReturn(GET); HttpHeaders headers = new DefaultHttpHeaders(); headers.add("key", "value1"); headers.add("key", "value2"); when(req.headers()).thenReturn(headers); ByteBuf buf = ByteBufAllocator.DEFAULT.buffer(); buf.writeByte((byte) 0xff); when(req.content()).thenReturn(buf); Call call = Call.fromRequest(req);/*from ww w.j a va 2 s . c o m*/ assertThat(call.getPath(), is("/api/p")); assertThat(call.getParameters().size(), is(1)); assertThat(call.getParameters().get(0).getName(), is("name")); assertThat(call.getParameters().get(0).getValue(), is("\u3042")); assertThat(call.getMethod(), is(equalToIgnoringCase("GET"))); assertThat(call.getHeaders(), hasSize(2)); assertThat(call.getHeaders().get(0).getName(), is("key")); assertThat(call.getHeaders().get(0).getValue(), is("value1")); assertThat(call.getHeaders().get(1).getName(), is("key")); assertThat(call.getHeaders().get(1).getValue(), is("value2")); assertThat(call.getBody()[0], is((byte) 0xff)); }
From source file:com.buildria.mocking.stub.CallTest.java
License:Open Source License
@Test public void testFromRequestContentEmpty() throws Exception { DefaultFullHttpRequest req = mock(DefaultFullHttpRequest.class); when(req.getUri()).thenReturn("/api/p?name=%E3%81%82"); when(req.getMethod()).thenReturn(GET); HttpHeaders headers = new DefaultHttpHeaders(); headers.add("key", "value"); when(req.headers()).thenReturn(headers); when(req.content()).thenReturn(null); Call call = Call.fromRequest(req);/*from ww w. j ava 2 s . c om*/ assertThat(call.getBody().length, is(0)); }
From source file:com.couchbase.client.core.endpoint.view.ViewHandlerTest.java
License:Apache License
@Test public void shouldEncodeLongViewQueryRequestWithPOST() { String keys = Resources.read("key_many.json", this.getClass()); String query = "stale=false&endKey=test"; ViewQueryRequest request = new ViewQueryRequest("design", "view", true, query, keys, "bucket", "password"); channel.writeOutbound(request);/*from ww w .j av a2 s.c o m*/ DefaultFullHttpRequest outbound = (DefaultFullHttpRequest) channel.readOutbound(); assertEquals(HttpMethod.POST, outbound.getMethod()); assertFalse(outbound.getUri().contains("keys=")); assertTrue(outbound.getUri().endsWith("?stale=false&endKey=test")); String content = outbound.content().toString(CharsetUtil.UTF_8); assertTrue(content.startsWith("{\"keys\":[")); assertTrue(content.endsWith("]}")); ReferenceCountUtil.releaseLater(outbound); }
From source file:com.couchbase.client.core.endpoint.view.ViewHandlerTest.java
License:Apache License
@Test public void shouldUrlEncodeShortKeys() { String urlEncodedKeys = "%5B%221%22%2C%222%22%2C%223%22%5D"; String keys = "[\"1\",\"2\",\"3\"]"; String query = "stale=false&endKey=test"; ViewQueryRequest request = new ViewQueryRequest("design", "view", true, query, keys, "bucket", "password"); channel.writeOutbound(request);//from w w w . j av a 2s .c o m DefaultFullHttpRequest outbound = (DefaultFullHttpRequest) channel.readOutbound(); String failMsg = outbound.getUri(); assertEquals(HttpMethod.GET, outbound.getMethod()); assertTrue(failMsg, outbound.getUri().contains("keys=")); assertTrue(failMsg, outbound.getUri().endsWith("?stale=false&endKey=test&keys=" + urlEncodedKeys)); String content = outbound.content().toString(CharsetUtil.UTF_8); assertTrue(content.isEmpty()); ReferenceCountUtil.releaseLater(outbound); //NO-OP since content is empty but still... }
From source file:com.couchbase.client.core.endpoint.view.ViewHandlerTest.java
License:Apache License
@Test public void shouldProduceValidUrlIfShortKeysAndNoOtherQueryParam() { String urlEncodedKeys = "%5B%221%22%2C%222%22%2C%223%22%5D"; String keys = "[\"1\",\"2\",\"3\"]"; String query = ""; ViewQueryRequest request = new ViewQueryRequest("design", "view", true, query, keys, "bucket", "password"); channel.writeOutbound(request);//w w w.j a v a 2 s. c o m DefaultFullHttpRequest outbound = (DefaultFullHttpRequest) channel.readOutbound(); String failMsg = outbound.getUri(); assertEquals(HttpMethod.GET, outbound.getMethod()); assertTrue(failMsg, outbound.getUri().endsWith("?keys=" + urlEncodedKeys)); String content = outbound.content().toString(CharsetUtil.UTF_8); assertTrue(content.isEmpty()); ReferenceCountUtil.releaseLater(outbound); //NO-OP since content is empty but still... }
From source file:com.couchbase.client.core.endpoint.view.ViewHandlerTest.java
License:Apache License
@Test public void shouldDoNothingOnNullKeys() { String keys = null;/*from ww w .j a v a 2s.c o m*/ String query = "stale=false&endKey=test"; ViewQueryRequest request = new ViewQueryRequest("design", "view", true, query, keys, "bucket", "password"); channel.writeOutbound(request); DefaultFullHttpRequest outbound = (DefaultFullHttpRequest) channel.readOutbound(); assertEquals(HttpMethod.GET, outbound.getMethod()); assertFalse(outbound.getUri().contains("keys=")); assertTrue(outbound.getUri().endsWith("?stale=false&endKey=test")); String content = outbound.content().toString(CharsetUtil.UTF_8); assertTrue(content.isEmpty()); ReferenceCountUtil.releaseLater(outbound); //NO-OP since content is empty but still... }
From source file:com.couchbase.client.core.endpoint.view.ViewHandlerTest.java
License:Apache License
@Test public void shouldDoNothingOnEmptyKeys() { String keys = ""; String query = "stale=false&endKey=test"; ViewQueryRequest request = new ViewQueryRequest("design", "view", true, query, keys, "bucket", "password"); channel.writeOutbound(request);//w w w .j a v a2 s.c om DefaultFullHttpRequest outbound = (DefaultFullHttpRequest) channel.readOutbound(); assertEquals(HttpMethod.GET, outbound.getMethod()); assertFalse(outbound.getUri().contains("keys=")); assertTrue(outbound.getUri().endsWith("?stale=false&endKey=test")); String content = outbound.content().toString(CharsetUtil.UTF_8); assertTrue(content.isEmpty()); ReferenceCountUtil.releaseLater(outbound); //NO-OP since content is empty but still... }
From source file:com.rackspacecloud.blueflood.inputs.handlers.HttpEventsIngestionHandlerTest.java
License:Apache License
private FullHttpRequest createRequest(HttpMethod method, String uri, String requestBody) { DefaultFullHttpRequest rawRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, method, "/v2.0/" + TENANT + "/events/" + uri); rawRequest.headers().set("tenantId", TENANT); if (!requestBody.equals("")) rawRequest.content().writeBytes(Unpooled.copiedBuffer(requestBody.getBytes())); return HttpRequestWithDecodedQueryParams.create(rawRequest); }
From source file:com.seagate.kinetic.client.io.provider.nio.http.HttpTransportProvider.java
License:Open Source License
/** * {@inheritDoc}/*w w w . j ava2 s . co m*/ */ @Override public void write(KineticMessage km) throws IOException { // interface message Message.Builder message = (Builder) km.getMessage(); // extended message ExtendedMessage.Builder extendedMessage = ExtendedMessage.newBuilder(); // set interface message extendedMessage.setInterfaceMessage(message); // set optional value if (km.getValue() != null) { extendedMessage.setValue(ByteString.copyFrom(km.getValue())); } // get serialized bytes byte[] array = extendedMessage.build().toByteArray(); // Prepare the HTTP request. DefaultFullHttpRequest request = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.POST, "/kinetic", Unpooled.copiedBuffer(array)); request.headers().set(HttpHeaders.Names.HOST, host); request.headers().set(HttpHeaders.Names.ACCEPT_ENCODING, HttpHeaders.Values.BINARY); request.headers().set(HttpHeaders.Names.ACCEPT_ENCODING, HttpHeaders.Values.GZIP); request.headers().set(CONNECTION, Values.KEEP_ALIVE); request.headers().set(CONTENT_TYPE, "application/octet-stream"); request.headers().set(HttpHeaders.Names.CONTENT_ENCODING, HttpHeaders.Values.BINARY); request.headers().set(HttpHeaders.Names.CONTENT_LENGTH, request.content().readableBytes()); if (logger.isLoggable(Level.INFO)) { logger.info("writing http message, len=" + request.content().readableBytes()); } try { this.channel.writeAndFlush(request); } finally { // request.release(); } }
From source file:com.titilink.camel.rest.server.RestletServerHelper.java
License:LGPL
public void handle(ServerCall httpCall) { LOGGER.debug("handle httpCall begin."); try {//from ww w . ja v a 2 s. co m // ----------- netty to restlet ? ? -------------------- RestletServerCall retHttpCall = (RestletServerCall) httpCall; //HttpCallHTTPheader?requestgetProtocolorg.restlet.Request.getProtocol()Protocolurlscheme?HTTP Protocol 1.1 HttpRequest restletRequest = getAdapter().toRequest(httpCall); restletRequest.setProtocol(httpCall.getProtocol()); DefaultFullHttpRequest nettyRequest = (DefaultFullHttpRequest) ((RestletServerCall) httpCall) .getRequest(); nettyRequest.content(); // ----------- netty to restlet ? ? ?-------------------- HttpResponse response = new HttpResponse(httpCall, restletRequest); LOGGER.debug("before handle request by restlet"); handle(restletRequest, response); LOGGER.debug("after handle request by restlet"); //?responseHttpCoreHttpResponse? Representation represent = response.getEntity(); ByteBuf buf = transferBuffer(represent); FullHttpResponse nettyResponse = new DefaultFullHttpResponse( retHttpCall.getRequest().getProtocolVersion(), HttpResponseStatus.valueOf(response.getStatus().getCode())); //Copy?? AdapterRestletUtil.parseToNettyFullResponse(retHttpCall, response, nettyResponse); if (null != buf) { nettyResponse.content().writeBytes(buf); buf.release(); } else { LOGGER.error("buf onf content is null."); } nettyResponse.headers().set(CONTENT_TYPE, MediaType.APPLICATION_JSON); nettyResponse.headers().set(CONTENT_LENGTH, nettyResponse.content().readableBytes()); if (null != retHttpCall.getCtx()) { final Channel channel = retHttpCall.getCtx().channel(); if (channel != null) { if (channel.isActive()) { channel.writeAndFlush(nettyResponse); } else { LOGGER.error("channel not active,close it."); channel.close(); } } else { LOGGER.error("Write to channel failed, invalid channel"); } } else { LOGGER.error("retHttpCall.getCtx() is null."); } } catch (Throwable e) { LOGGER.error("Exception while handle request:", e); if (httpCall instanceof RestletServerCall) { RestletServerCall retHttpCall = (RestletServerCall) httpCall; if (retHttpCall.getCtx() != null) { final Channel channel = retHttpCall.getCtx().channel(); if (channel != null) { LOGGER.error("Close channel."); channel.close(); } } } } finally { LOGGER.debug("handle httpCall end."); Engine.clearThreadLocalVariables(); } }