コード例 #1
0
 public void GlobalSetup()
 {
     ResourceLeakDetector.Level = ResourceLeakDetector.DetectionLevel.Disabled;
     System.Environment.SetEnvironmentVariable("io.netty.buffer.checkAccessible", "false");
     System.Environment.SetEnvironmentVariable("io.netty.buffer.checkBounds", "false");
     this.uri     = "http://localhost?eventType=CRITICAL&from=0&to=1497437160327&limit=10&offset=0";
     this.encoder = new HttpRequestEncoder();
 }
コード例 #2
0
        public void EmptydBufferShouldPassThrough()
        {
            var         encoder = new HttpRequestEncoder();
            var         channel = new EmbeddedChannel(encoder);
            IByteBuffer buffer  = Unpooled.Buffer();

            channel.WriteAndFlushAsync(buffer).Wait();
            channel.FinishAndReleaseAll();
            Assert.Equal(0, buffer.ReferenceCount);
        }
コード例 #3
0
        public void QueryStringPath()
        {
            var         encoder = new HttpRequestEncoder();
            IByteBuffer buffer  = Unpooled.Buffer(64);

            encoder.EncodeInitialLine(
                buffer,
                new DefaultHttpRequest(HttpVersion.Http11, HttpMethod.Get, "/?url=http://example.com"));
            string req = buffer.ToString(Encoding.ASCII);

            Assert.Equal("GET /?url=http://example.com HTTP/1.1\r\n", req);
        }
コード例 #4
0
        public void EmptyAbsPath()
        {
            var         encoder = new HttpRequestEncoder();
            IByteBuffer buffer  = Unpooled.Buffer(64);

            encoder.EncodeInitialLine(
                buffer,
                new DefaultHttpRequest(HttpVersion.Http11, HttpMethod.Get, ""));
            string req = buffer.ToString(Encoding.ASCII);

            Assert.Equal("GET / HTTP/1.1\r\n", req);
        }
コード例 #5
0
        public void EmptyReleasedBufferShouldNotWriteEmptyBufferToChannel()
        {
            var         encoder = new HttpRequestEncoder();
            var         channel = new EmbeddedChannel(encoder);
            IByteBuffer buf     = Unpooled.Buffer();

            buf.Release();
            var exception = Assert.Throws <AggregateException>(() => channel.WriteAndFlushAsync(buf).Wait());

            Assert.Single(exception.InnerExceptions);
            Assert.IsType <EncoderException>(exception.InnerExceptions[0]);
            Assert.IsType <IllegalReferenceCountException>(exception.InnerExceptions[0].InnerException);
            channel.FinishAndReleaseAll();
        }
コード例 #6
0
        public void UriWithoutPath2()
        {
            var         encoder = new HttpRequestEncoder();
            IByteBuffer buffer  = Unpooled.Buffer(64);

            encoder.EncodeInitialLine(
                buffer,
                new DefaultHttpRequest(
                    HttpVersion.Http11,
                    HttpMethod.Get,
                    "http://localhost:9999?p1=v1"));
            string req = buffer.ToString(Encoding.ASCII);

            Assert.Equal("GET http://localhost:9999/?p1=v1 HTTP/1.1\r\n", req);
        }
コード例 #7
0
        private void EmptyContent(bool chunked, bool trailers)
        {
            HttpRequestEncoder encoder = new HttpRequestEncoder();
            EmbeddedChannel    channel = new EmbeddedChannel(encoder);
            var request = new DefaultHttpRequest(HttpVersion.Http11, HttpMethod.Post, "/");

            if (chunked)
            {
                HttpUtil.SetTransferEncodingChunked(request, true);
            }
            Assert.True(channel.WriteOutbound(request));

            var contentBuffer = Unpooled.Buffer();

            Assert.True(channel.WriteOutbound(new DefaultHttpContent(contentBuffer)));

            var lastContentBuffer = Unpooled.Buffer();
            var last = new DefaultLastHttpContent(lastContentBuffer);

            if (trailers)
            {
                last.TrailingHeaders.Set((AsciiString)"X-Netty-Test", "true");
            }
            Assert.True(channel.WriteOutbound(last));

            // Ensure we only produce ByteBuf instances.
            var head = channel.ReadOutbound <IByteBuffer>();

            Assert.True(head.Release());

            var content = channel.ReadOutbound <IByteBuffer>();

            content.Release();

            var lastContent = channel.ReadOutbound <IByteBuffer>();

            lastContent.Release();
            Assert.False(channel.Finish());
        }
 public void GlobalSetup()
 {
     ResourceLeakDetector.Level = ResourceLeakDetector.DetectionLevel.Disabled;
     this.uri     = "http://localhost?eventType=CRITICAL&from=0&to=1497437160327&limit=10&offset=0";
     this.encoder = new HttpRequestEncoder();
 }