Esempio n. 1
0
            private void connectionRead(AsynchronousServer.ClientConnection clientConnection)
            {
                ClientConnection cc = (ClientConnection)clientConnection;

                try
                {
                    if (cc.progressiveMessage.ToString().StartsWith(GET))
                    {
                        if (cc.progressiveMessage.ToString().EndsWith(HEADER_END))
                        {
                            HTTPRequest request = new HTTPRequest();
                            request.parse(cc.progressiveMessage.ToString());
                            processRequest(cc, request);
                        }

                        if (cc.progressiveMessage.Length > configuration.maxRequestLength)
                        {
                            throw new RequestEntityTooLargeResponsePage();
                        }
                    }
                    else
                    {
                        throw new BadRequestResponsePage();
                    }
                }
                catch (HTTPResponse r)
                {
                    cc.Send(r);
                }
                catch (Exception e)
                {
                    cc.Send(new ExceptionResponsePage(e.Message + " " + e.StackTrace));
                }
            }