当前位置: 首页>>代码示例>>C#>>正文


C# StringReader.ReadRequestLine方法代码示例

本文整理汇总了C#中System.IO.StringReader.ReadRequestLine方法的典型用法代码示例。如果您正苦于以下问题:C# StringReader.ReadRequestLine方法的具体用法?C# StringReader.ReadRequestLine怎么用?C# StringReader.ReadRequestLine使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.IO.StringReader的用法示例。


在下文中一共展示了StringReader.ReadRequestLine方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: BeginRequestInternal

        public IEnumerable<object> BeginRequestInternal(ISocket socket)
        {
            var bufferHeaders = new ContinuationState<LinkedList<ArraySegment<byte>>>(socket.BufferHeaders());
            yield return bufferHeaders;

            var headerBuffers = bufferHeaders.Result;

            Dictionary<string, object> env = new Dictionary<string, object>();

            var bodyDataReadWithHeaders = headerBuffers.Last.Value;
            headerBuffers.RemoveLast();

            var headersString = headerBuffers.GetString();
            var reader = new StringReader(headersString);
            var requestLine = reader.ReadRequestLine();
            var headers = reader.ReadHeaders();

            env["Owin.RequestMethod"] = requestLine.Verb;
            env["Owin.RequestUri"] = requestLine.RequestUri;
            env["Owin.RequestHeaders"] = headers;
            env["Owin.BaseUri"] = "";
            env["Owin.RemoteEndPoint"] = socket.RemoteEndPoint;
            env["Owin.RequestBody"] = CreateReadBody(socket, bodyDataReadWithHeaders);

            // TODO provide better values
            env["Owin.ServerName"] = "";
            env["Owin.ServerPort"] = 0;
            env["Owin.UriScheme"] = "http";

            yield return env;
        }
开发者ID:lovewitty,项目名称:OstrichNet,代码行数:31,代码来源:HttpSupport.cs

示例2: Begin

        public IObservable<Unit> Begin()
        {
            return Observable.CreateWithDisposable<Unit>(o =>
            {
                // would be nice some day to parse the request with a fancy state machine
                // for lower memory usage.
                Trace.Write("Beginning request.");
                return socket.ReadHeaders().Subscribe(headerBuffers =>
                    {
                        bodyDataReadWithHeaders = headerBuffers.Last.Value;
                        headerBuffers.RemoveLast();

                        var reader = new StringReader(headerBuffers.GetString());

                        this.requestLine = reader.ReadRequestLine();
                        Headers = reader.ReadHeaders();

                        reader.Dispose(); // necessary?
                        Trace.Write("Request began.");
                    },
                    e =>
                    {
                        o.OnError(e);
                    },
                    () =>
                    {
                        o.OnCompleted();
                    });
            });
        }
开发者ID:nithinphilips,项目名称:bbwifimusicsync,代码行数:30,代码来源:KayakServerRequest.cs

示例3: GivenHttpVersion

        public void GivenHttpVersion()
        {
            var reader = new StringReader("asdas df asdf");

            var requestLine = reader.ReadRequestLine();

            Assert.AreEqual("asdf", requestLine.HttpVersion);
        }
开发者ID:purplecow,项目名称:kayak,代码行数:8,代码来源:ParsingTests.cs

示例4: DefaultHttpVersion

        public void DefaultHttpVersion()
        {
            var reader = new StringReader("asdas df");

            var requestLine = reader.ReadRequestLine();

            Assert.AreEqual("HTTP/1.0", requestLine.HttpVersion);
        }
开发者ID:purplecow,项目名称:kayak,代码行数:8,代码来源:ParsingTests.cs

示例5: CreateRequest

        public static IRequest CreateRequest(ISocket socket, LinkedList<ArraySegment<byte>> headerBuffers)
        {
            var bodyDataReadWithHeaders = headerBuffers.Last.Value;
            headerBuffers.RemoveLast();

            var headersString = headerBuffers.GetString();
            var reader = new StringReader(headersString);
            var requestLine = reader.ReadRequestLine();
            var headers = reader.ReadHeaders();
            var context = new Dictionary<string, object>();

            return new KayakRequest(socket, requestLine, headers, context, bodyDataReadWithHeaders);
        }
开发者ID:chakrit,项目名称:kayak,代码行数:13,代码来源:KayakRequest.cs

示例6: MalformedStatusLine4

            public void MalformedStatusLine4()
            {
                var reader = new StringReader("asd asd d fs  aaaa    ");

                reader.ReadRequestLine();
            }
开发者ID:nithinphilips,项目名称:bbwifimusicsync,代码行数:6,代码来源:HttpTests.cs

示例7: MalformedStatusLine3

            public void MalformedStatusLine3()
            {
                var reader = new StringReader("asdasd  fds sd dsfasdf");

                reader.ReadRequestLine();
            }
开发者ID:nithinphilips,项目名称:bbwifimusicsync,代码行数:6,代码来源:HttpTests.cs

示例8: EmptyStatusLine

            public void EmptyStatusLine()
            {
                var reader = new StringReader("");

                reader.ReadRequestLine();
            }
开发者ID:nithinphilips,项目名称:bbwifimusicsync,代码行数:6,代码来源:HttpTests.cs


注:本文中的System.IO.StringReader.ReadRequestLine方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。