示例#1
0
文件: ClientHandler.cs 项目: lnsp/box
        public void Handle(object threadContext)
        {
            Init();

            while (Connected)
            {
                // read request
                string line, requestText = "";
                while ((line = Reader.ReadLine()) != "")
                    requestText += line + "\n";

                Request req = new Request();
                req.Parse(requestText);

                Response res = Router.Handle(req);

                // keep connection alive if requested
                if (req.Header.ContainsKey("Connection") && req.Header["Connection"] == "keep-alive")
                {
                    res.Header.Connection = "keep-alive";
                    Connected = true;
                }
                else
                {
                    res.Header.Connection = "close";
                    Connected = false;
                }

                // put the stuff in the stream
                Writer.Write(res.GetText());
                Writer.Flush();
            }
        }
示例#2
0
        public void processHttp()
        {
            var request = new Request(s);

            if (request.Parse())
            {

                HandleRequest(request);

            }

            s.Close();
        }