Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 1192

Show
Ignore:
Timestamp:
07/09/06 22:04:14
Author:
fumanchu
Message:

Reverting [1165], [1182]. Turns out it wasn't necessary for encoded request headers, and only served to slow CP by about 5%.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/_cpwsgiserver.py

    r1182 r1192  
    44import threading 
    55import Queue 
    6 try: 
    7     from email import FeedParser 
    8 except ImportError: 
    9     # Python 2.3 didn't have a FeedParser module. However, we can't 
    10     # just use Python 2.4's Parser.parse, because it calls read(8192) 
    11     # instead of readline(). 
    12     FeedParser = None 
    13     from email import Parser 
     6import mimetools # todo: use email 
    147import rfc822 
    158import sys 
     
    10194            self.environ["REMOTE_ADDR"] = self.addr[0] 
    10295            self.environ["REMOTE_PORT"] = str(self.addr[1]) 
    103          
    10496        # then all the http headers 
    105         if FeedParser: 
    106             feedparser = FeedParser.FeedParser() 
    107             feedparser._set_headersonly() 
    108             while True: 
    109                 data = self.rfile.readline() 
    110                 if not data or data in ('\n', '\r\n'): 
    111                     break 
    112                 feedparser.feed(data) 
    113             headers = feedparser.close() 
    114         else: 
    115             headers = Parser.Parser().parse(self.rfile, headersonly=True) 
    116         self.environ["CONTENT_TYPE"] = headers.get("Content-type", "") 
    117         cl = headers.get("Content-length") 
     97        headers = mimetools.Message(self.rfile) 
     98        self.environ["CONTENT_TYPE"] = headers.getheader("Content-type", "") 
     99        cl = headers.getheader("Content-length") 
    118100        if method in ("POST", "PUT") and cl is None: 
    119101            # No Content-Length header supplied. This will hang 

Hosted by WebFaction

Log in as guest/cpguest to create tickets