private void ParsePostValues(Request request) { if (request.GetHeader("content-type") == _formDataContentType) { request.Values = ParseFormData(request.Body, request.Values); } }
public Request ParseStringToRequest(string requestHeaders) { string[] reqParts = requestHeaders.Split(Environment.NewLine.ToCharArray()); if (reqParts.Length > 0 && !String.IsNullOrEmpty(reqParts[0])) { string firstLine = reqParts[0]; reqParts[0] = null; string[] firstLineParts = firstLine.Split(' '); Request request = new Request(); request.Method = firstLineParts[0]; request.Url = firstLineParts[1]; request.HTTPVersion = firstLineParts[2]; foreach (string line in reqParts) { if (!String.IsNullOrEmpty(line)) { if (!line.Contains(":")) break; string[] headerParts = line.Split(new char[] { ':' }, 2); request.AddHeader(headerParts[0].Trim().ToLower(), headerParts[1].Trim()); } } if (request.GetHeader("host") != null) { string hostHeader = request.GetHeader("host"); if (hostHeader.Contains(":")) { string[] hostParts = hostHeader.Split(':'); request.Host = hostParts[0]; request.Port = Convert.ToInt32(hostParts[1]); } else { request.Host = hostHeader; request.Port = 80; } } return request; } return null; }