Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 20 additions & 11 deletions Switchboard.Server/Request/SwitchboardRequestParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace Switchboard.Server
{
internal class SwitchboardRequestParser
{
private sealed class ParseDelegate : IHttpParserHandler
private sealed class ParseDelegate : IHttpRequestParserDelegate
{
private string headerName;

Expand All @@ -19,16 +19,25 @@ private sealed class ParseDelegate : IHttpParserHandler
public bool complete;
public bool headerComplete;

void IHttpParserHandler.OnBody(HttpParser parser, ArraySegment<byte> data) { requestBodyStart = data; }
void IHttpParserHandler.OnFragment(HttpParser parser, string fragment) { }
void IHttpParserHandler.OnHeaderName(HttpParser parser, string name) { headerName = name; }
void IHttpParserHandler.OnHeaderValue(HttpParser parser, string value) { request.Headers.Add(headerName, value); }
void IHttpParserHandler.OnHeadersEnd(HttpParser parser) { this.headerComplete = true; }
void IHttpParserHandler.OnMessageBegin(HttpParser parser) { }
void IHttpParserHandler.OnMessageEnd(HttpParser parser) { this.complete = true; }
void IHttpParserHandler.OnMethod(HttpParser parser, string method) { request.Method = method; }
void IHttpParserHandler.OnQueryString(HttpParser parser, string queryString) { }
void IHttpParserHandler.OnRequestUri(HttpParser parser, string requestUri) { request.RequestUri = requestUri; }
public void OnBody(HttpParser parser, ArraySegment<byte> data) { requestBodyStart = data; }
public void OnFragment(HttpParser parser, string fragment) { }
public void OnHeaderName(HttpParser parser, string name) { headerName = name; }
public void OnHeaderValue(HttpParser parser, string value) { request.Headers.Add(headerName, value); }
public void OnHeadersEnd(HttpParser parser) { this.headerComplete = true; }
public void OnMessageBegin(HttpParser parser) { }
public void OnMessageEnd(HttpParser parser) { this.complete = true; }
public void OnMethod(HttpParser parser, string method) { request.Method = method; }
public void OnQueryString(HttpParser parser, string queryString) { }
public void OnRequestUri(HttpParser parser, string requestUri) { request.RequestUri = requestUri; }

#region IHttpRequestParserDelegate implementation

public void OnPath (HttpParser parser, string path)
{
//throw new NotImplementedException ();
}

#endregion
}

public SwitchboardRequestParser()
Expand Down