List of usage examples for io.netty.handler.codec.http HttpRequest getUri
@Deprecated String getUri();
From source file:com.couchbase.client.core.endpoint.config.ConfigHandlerTest.java
License:Apache License
@Test public void shouldEncodeBucketConfigRequest() throws Exception { BucketConfigRequest request = new BucketConfigRequest("/path/", InetAddress.getLocalHost(), "bucket", "password"); channel.writeOutbound(request);/* w w w.j a v a 2 s.com*/ HttpRequest outbound = (HttpRequest) channel.readOutbound(); assertEquals(HttpMethod.GET, outbound.getMethod()); assertEquals(HttpVersion.HTTP_1_1, outbound.getProtocolVersion()); assertEquals("/path/bucket", outbound.getUri()); assertTrue(outbound.headers().contains(HttpHeaders.Names.AUTHORIZATION)); assertTrue(outbound.headers().contains(HttpHeaders.Names.HOST)); assertEquals("Basic YnVja2V0OnBhc3N3b3Jk", outbound.headers().get(HttpHeaders.Names.AUTHORIZATION)); assertEquals("Couchbase Client Mock", outbound.headers().get(HttpHeaders.Names.USER_AGENT)); }
From source file:com.couchbase.client.core.endpoint.config.ConfigHandlerTest.java
License:Apache License
@Test public void shouldEncodeFlushRequest() { FlushRequest request = new FlushRequest("bucket", "password"); channel.writeOutbound(request);//from w ww . j a va 2 s . c om HttpRequest outbound = (HttpRequest) channel.readOutbound(); assertEquals(HttpMethod.POST, outbound.getMethod()); assertEquals(HttpVersion.HTTP_1_1, outbound.getProtocolVersion()); assertEquals("/pools/default/buckets/bucket/controller/doFlush", outbound.getUri()); assertTrue(outbound.headers().contains(HttpHeaders.Names.AUTHORIZATION)); assertTrue(outbound.headers().contains(HttpHeaders.Names.HOST)); assertEquals("Basic YnVja2V0OnBhc3N3b3Jk", outbound.headers().get(HttpHeaders.Names.AUTHORIZATION)); assertEquals("Couchbase Client Mock", outbound.headers().get(HttpHeaders.Names.USER_AGENT)); }
From source file:com.couchbase.client.core.endpoint.config.ConfigHandlerTest.java
License:Apache License
@Test public void shouldEncodeBucketStreamingRequest() throws Exception { BucketStreamingRequest request = new BucketStreamingRequest("/path/", "bucket", "password"); channel.writeOutbound(request);/*from www .j a v a2 s. co m*/ HttpRequest outbound = (HttpRequest) channel.readOutbound(); assertEquals(HttpMethod.GET, outbound.getMethod()); assertEquals(HttpVersion.HTTP_1_1, outbound.getProtocolVersion()); assertEquals("/path/bucket", outbound.getUri()); assertTrue(outbound.headers().contains(HttpHeaders.Names.AUTHORIZATION)); assertEquals("Basic YnVja2V0OnBhc3N3b3Jk", outbound.headers().get(HttpHeaders.Names.AUTHORIZATION)); assertEquals("Couchbase Client Mock", outbound.headers().get(HttpHeaders.Names.USER_AGENT)); }
From source file:com.couchbase.client.core.endpoint.config.ConfigHandlerTest.java
License:Apache License
@Test public void shouldNotBreakLinesOnLongAuth() throws Exception { String longPassword = "thisIsAveryLongPasswordWhichShouldNotContainLineBreaksAfterEncodingOtherwise" + "itWillBreakTheRequestResponseFlowWithTheServer"; BucketConfigRequest request = new BucketConfigRequest("/path/", InetAddress.getLocalHost(), "bucket", longPassword);// w ww . ja v a 2s.co m channel.writeOutbound(request); HttpRequest outbound = (HttpRequest) channel.readOutbound(); assertEquals(HttpMethod.GET, outbound.getMethod()); assertEquals(HttpVersion.HTTP_1_1, outbound.getProtocolVersion()); assertEquals("/path/bucket", outbound.getUri()); assertTrue(outbound.headers().contains(HttpHeaders.Names.AUTHORIZATION)); assertNotNull(outbound.headers().get(HttpHeaders.Names.AUTHORIZATION)); assertTrue(outbound.headers().contains(HttpHeaders.Names.HOST)); assertEquals("Couchbase Client Mock", outbound.headers().get(HttpHeaders.Names.USER_AGENT)); }
From source file:com.couchbase.client.core.endpoint.query.QueryHandlerTest.java
License:Apache License
private void assertGenericQueryRequest(GenericQueryRequest request, boolean jsonExpected) { channel.writeOutbound(request);// w ww .j ava 2s . com HttpRequest outbound = (HttpRequest) channel.readOutbound(); assertEquals(HttpMethod.POST, outbound.getMethod()); assertEquals(HttpVersion.HTTP_1_1, outbound.getProtocolVersion()); assertEquals("/query", outbound.getUri()); assertTrue(outbound.headers().contains(HttpHeaders.Names.AUTHORIZATION)); assertEquals("Couchbase Client Mock", outbound.headers().get(HttpHeaders.Names.USER_AGENT)); assertTrue(outbound instanceof FullHttpRequest); assertEquals("query", ((FullHttpRequest) outbound).content().toString(CharsetUtil.UTF_8)); if (jsonExpected) { assertEquals("application/json", outbound.headers().get(HttpHeaders.Names.CONTENT_TYPE)); } else { assertNotEquals("application/json", outbound.headers().get(HttpHeaders.Names.CONTENT_TYPE)); } assertTrue(outbound.headers().contains(HttpHeaders.Names.HOST)); }
From source file:com.couchbase.client.core.endpoint.view.ViewHandlerTest.java
License:Apache License
@Test public void shouldEncodeGetDesignDocumentRequest() { GetDesignDocumentRequest request = new GetDesignDocumentRequest("name", true, "bucket", "password"); channel.writeOutbound(request);//from w w w .jav a 2s. c o m HttpRequest outbound = (HttpRequest) channel.readOutbound(); assertEquals(HttpMethod.GET, outbound.getMethod()); assertEquals(HttpVersion.HTTP_1_1, outbound.getProtocolVersion()); assertEquals("/bucket/_design/dev_name", outbound.getUri()); assertTrue(outbound.headers().contains(HttpHeaders.Names.AUTHORIZATION)); assertEquals("Couchbase Client Mock", outbound.headers().get(HttpHeaders.Names.USER_AGENT)); assertTrue(outbound.headers().contains(HttpHeaders.Names.HOST)); ReferenceCountUtil.releaseLater(outbound); //for consistency, but it uses Unpooled }
From source file:com.couchbase.client.core.endpoint.view.ViewHandlerTest.java
License:Apache License
@Test public void shouldEncodeViewQueryRequest() { ViewQueryRequest request = new ViewQueryRequest("design", "view", true, "query", null, "bucket", "password"); channel.writeOutbound(request);//from ww w . ja va2 s . co m HttpRequest outbound = (HttpRequest) channel.readOutbound(); assertEquals(HttpMethod.GET, outbound.getMethod()); assertEquals(HttpVersion.HTTP_1_1, outbound.getProtocolVersion()); assertEquals("/bucket/_design/dev_design/_view/view?query", outbound.getUri()); assertTrue(outbound.headers().contains(HttpHeaders.Names.AUTHORIZATION)); assertEquals("Couchbase Client Mock", outbound.headers().get(HttpHeaders.Names.USER_AGENT)); ReferenceCountUtil.releaseLater(outbound); //for consistency, but it uses Unpooled }
From source file:com.couchbase.client.core.endpoint.view.ViewHandlerTest.java
License:Apache License
@Test public void shouldNotBreakLinesOnLongAuth() { String longPassword = "thisIsAveryLongPasswordWhichShouldNotContainLineBreaksAfterEncodingOtherwise" + "itWillBreakTheRequestResponseFlowWithTheServer"; GetDesignDocumentRequest request = new GetDesignDocumentRequest("name", true, "bucket", longPassword); channel.writeOutbound(request);/* w w w. j a v a2 s .c o m*/ HttpRequest outbound = (HttpRequest) channel.readOutbound(); assertEquals(HttpMethod.GET, outbound.getMethod()); assertEquals(HttpVersion.HTTP_1_1, outbound.getProtocolVersion()); assertEquals("/bucket/_design/dev_name", outbound.getUri()); assertTrue(outbound.headers().contains(HttpHeaders.Names.AUTHORIZATION)); assertNotNull(outbound.headers().get(HttpHeaders.Names.AUTHORIZATION)); assertEquals("Couchbase Client Mock", outbound.headers().get(HttpHeaders.Names.USER_AGENT)); ReferenceCountUtil.releaseLater(outbound); //for consistency, but it uses Unpooled }
From source file:com.creamsugardonut.HttpStaticFileServerHandler2.java
License:Apache License
@Override public void channelRead0(ChannelHandlerContext ctx, HttpRequest request) throws Exception { if (!request.getDecoderResult().isSuccess()) { sendError(ctx, BAD_REQUEST);// w w w . ja v a 2 s . co m return; } final String uri = request.getUri(); final String path = sanitizeUri(uri); if (path == null) { sendError(ctx, FORBIDDEN); return; } File file = new File(path); if (file.isHidden() || !file.exists()) { sendError(ctx, NOT_FOUND); return; } if (!file.isFile()) { sendError(ctx, FORBIDDEN); return; } RandomAccessFile raf; try { raf = new RandomAccessFile(file, "r"); } catch (FileNotFoundException ignore) { sendError(ctx, NOT_FOUND); return; } long fileLength = raf.length(); HttpResponse response = new DefaultHttpResponse(HTTP_1_1, OK); setContentTypeHeader(response, file); if (HttpHeaders.isKeepAlive(request)) { response.headers().set(CONNECTION, HttpHeaders.Values.KEEP_ALIVE); } // Write the content. ChannelFuture sendFileFuture; ChannelFuture lastContentFuture; // Tell clients that Partial Requests are available. response.headers().add(HttpHeaders.Names.ACCEPT_RANGES, HttpHeaders.Values.BYTES); String rangeHeader = request.headers().get(HttpHeaders.Names.RANGE); System.out.println(HttpHeaders.Names.RANGE + " = " + rangeHeader); if (rangeHeader != null && rangeHeader.length() > 0) { // Partial Request PartialRequestInfo partialRequestInfo = getPartialRequestInfo(rangeHeader, fileLength); // Set Response Header response.headers().add(HttpHeaders.Names.CONTENT_RANGE, HttpHeaders.Values.BYTES + " " + partialRequestInfo.startOffset + "-" + partialRequestInfo.endOffset + "/" + fileLength); System.out.println(HttpHeaders.Names.CONTENT_RANGE + " : " + response.headers().get(HttpHeaders.Names.CONTENT_RANGE)); HttpHeaders.setContentLength(response, partialRequestInfo.getChunkSize()); System.out.println(HttpHeaders.Names.CONTENT_LENGTH + " : " + partialRequestInfo.getChunkSize()); response.setStatus(HttpResponseStatus.PARTIAL_CONTENT); // Write Response ctx.write(response); sendFileFuture = ctx.write(new DefaultFileRegion(raf.getChannel(), partialRequestInfo.getStartOffset(), partialRequestInfo.getChunkSize()), ctx.newProgressivePromise()); } else { // Set Response Header HttpHeaders.setContentLength(response, fileLength); // Write Response ctx.write(response); sendFileFuture = ctx.write(new DefaultFileRegion(raf.getChannel(), 0, fileLength), ctx.newProgressivePromise()); } lastContentFuture = ctx.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT); sendFileFuture.addListener(new ChannelProgressiveFutureListener() { @Override public void operationProgressed(ChannelProgressiveFuture future, long progress, long total) { if (total < 0) { // total unknown System.err.println(future.channel() + " Transfer progress: " + progress); } else { System.err.println(future.channel() + " Transfer progress: " + progress + " / " + total); } } @Override public void operationComplete(ChannelProgressiveFuture future) { System.err.println(future.channel() + " Transfer complete."); } }); // Decide whether to close the connection or not. if (!HttpHeaders.isKeepAlive(request)) { // Close the connection when the whole content is written out. lastContentFuture.addListener(ChannelFutureListener.CLOSE); } }
From source file:com.cu.http.container.core.adaptor.NettyServletRequest.java
License:Apache License
public NettyServletRequest(HttpRequest request, String contextPath) { this.originalRequest = request; this.contextPath = contextPath; this.uriParser = new URIParser(contextPath); uriParser.parse(request.getUri()); this.inputStream = new NettyServletInputStream((HttpContent) request); this.reader = new BufferedReader(new InputStreamReader(inputStream)); this.queryStringDecoder = new QueryStringDecoder(request.getUri()); }