本文整理汇总了C#中System.IO.StringReader.ReadHeaders方法的典型用法代码示例。如果您正苦于以下问题:C# StringReader.ReadHeaders方法的具体用法?C# StringReader.ReadHeaders怎么用?C# StringReader.ReadHeaders使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.IO.StringReader
的用法示例。
在下文中一共展示了StringReader.ReadHeaders方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: 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();
});
});
}
示例2: 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;
}
示例3: 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);
}