public override string ToString()
        {
            StringBuilder request  = new StringBuilder();
            string        httpType = "";

            switch (type)
            {
            case Type.GET:
                httpType = "GET";
                break;

            case Type.HEAD:
                httpType = "HEAD";
                break;

            case Type.POST:
                httpType = "POST";
                break;

            case Type.PUT:
                httpType = "PUT";
                break;

            case Type.DELETE:
                httpType = "DELETE";
                break;

            case Type.TRACE:
                httpType = "TRACE";
                break;

            case Type.CONNECT:
                httpType = "CONNECT";
                break;

            default:
                break;
            }
            request.Append(httpType + " ");
            request.Append(url + " ");
            request.Append("HTTP/" + version + "\r\n");
            request.Append(header.ToString());
            request.Append(body + "\r\n\r\n");

            return(request.ToString());
        }
Example #2
0
        /// <summary>
        /// Method is called when a new client request is received, should not be called by user!
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="e"></param>
        private static void ProcessClientRequest(object obj, HTTPServer.WebServerEventArgs e)
        {
            //DebugUtils.Print(DebugLevel.INFO, "Received a request in ProcessClientRequest method:");
            //do not use this, emtpy (null) requests will cause HTTPHeader.Parse to return null, ToString() on null object will cause a null reference exception
            //DebugUtils.Print(DebugLevel.INFO, HTTPHeader.Parse(e.rawData).ToString());

            HTTPRequest request = HTTPRequest.Parse(e.rawData);

            DebugUtils.Print(DebugLevel.INFO, request.ToString());

            HTTPHeader header = new HTTPHeader();

            header.Add("Content-Type", "text/html; charset=utf-8");
            header.Add("Connection", "close");

            string body = "Hello World!";
            string data = "HTTP/1.1 200 OK\r\n" + header.ToString() + body;

            OutPutStream(e.response, data);
        }