public WorkerRequest(SimpleHost host, HttpProcessor processor, RequestInfo requestInfo) { _host = host; _processor = processor; _requestInfo = requestInfo; _responseHeaders = new Dictionary<string, string>(); _responseBodyBytes = new List<byte[]>(); ParseRequestHeaders(); }
private RequestInfo ParseRequest() { try { string requestHeaders = GetRequestHeaders(); if (!string.IsNullOrEmpty(requestHeaders)) { Console.WriteLine(requestHeaders); RequestInfo requestInfo = new RequestInfo(requestHeaders); requestInfo.ParseHeaders(); IPEndPoint remoteEndPoint = (IPEndPoint)_socket.RemoteEndPoint; requestInfo.RemoteEndPoint = remoteEndPoint; IPEndPoint localEndPoint = (IPEndPoint)_socket.LocalEndPoint; requestInfo.LocalEndPoint = localEndPoint; return requestInfo; } } catch (Exception ex) { Console.WriteLine(ex); } return null; }
private string GetStaticContentType(RequestInfo requestInfo) { int dotStart = requestInfo.FilePath.LastIndexOf('.') + 1; string contentType = string.Empty; if (dotStart > 0) { string extension = requestInfo.FilePath.Substring(dotStart, requestInfo.FilePath.Length - dotStart); foreach (KeyValuePair<string, string> fileType in staticFileContentType) { if (extension.ToLower() == fileType.Key) { contentType = fileType.Value; break; } } } return contentType; }
public void ProcessRequest(HttpProcessor processor, RequestInfo requestInfo) { WorkerRequest workerRequest = new WorkerRequest(this, processor, requestInfo); HttpRuntime.ProcessRequest(workerRequest); }