[Zope-Checkins] CVS: Zope2 - HTTPRequest.py:1.50
Martijn Pieters
mj@digicool.com
Wed, 25 Apr 2001 08:13:19 -0400 (EDT)
Update of /cvs-repository/Zope2/lib/python/ZPublisher
In directory korak:/tmp/cvs-serv26229/lib/python/ZPublisher
Modified Files:
HTTPRequest.py
Log Message:
Reverse checkin that belongs in a branch; it broke the Zope trunk.
--- Updated File HTTPRequest.py in package Zope2 --
--- HTTPRequest.py 2001/04/24 22:46:50 1.49
+++ HTTPRequest.py 2001/04/25 12:13:18 1.50
@@ -85,7 +85,7 @@
__version__='$Revision$'[11:-2]
-import re, sys, os, string, urllib, time, whrandom
+import regex, re, sys, os, string, urllib, time, whrandom
from string import lower, atoi, rfind, split, strip, join, upper, find
from BaseRequest import BaseRequest
from HTTPResponse import HTTPResponse
@@ -383,7 +383,7 @@
hasattr=hasattr,
getattr=getattr,
setattr=setattr,
- search_type=re.compile('(:[a-zA-Z]\w+|\.[xy])$').search,
+ search_type=regex.compile('\(:[a-zA-Z][a-zA-Z0-9_]+\|\.[xy]\)$').search,
rfind=string.rfind,
):
"""Process request inputs
@@ -448,14 +448,11 @@
# We'll search from the back to the front.
# We'll do the search in two steps. First, we'll
# do a string search, and then we'll check it with
- # a re search.
+ # a regex search.
l=rfind(key,':')
if l >= 0:
- mo=search_type(key,l)
- if mo: l = mo.start(0)
- else: l = -1
-
+ l=search_type(key,l)
while l >= 0:
type_name=key[l+1:]
key=key[:l]
@@ -489,9 +486,7 @@
l=rfind(key,':')
if l < 0: break
- mo = search_type(key,l)
- if mo: l = mo.start(0)
- else: l = -1
+ l=search_type(key,l)
# Filter out special names from form:
if CGI_name(key) or key[:5]=='HTTP_': continue
@@ -1055,10 +1050,16 @@
parse_cookie_lock=allocate_lock()
def parse_cookie(text,
result=None,
- qparmre=re.compile(
- '([\x00- ]*([^\x00- ;,="]+)="([^"]*)"([\x00- ]*[;,])?[\x00- ]*)'),
- parmre=re.compile(
- '([\x00- ]*([^\x00- ;,="]+)=([^\x00- ;,"]*)([\x00- ]*[;,])?[\x00- ]*)'),
+ qparmre=regex.compile(
+ '\([\0- ]*'
+ '\([^\0- ;,=\"]+\)="\([^"]*\)\"'
+ '\([\0- ]*[;,]\)?[\0- ]*\)'
+ ),
+ parmre=regex.compile(
+ '\([\0- ]*'
+ '\([^\0- ;,=\"]+\)=\([^\0- ;,\"]*\)'
+ '\([\0- ]*[;,]\)?[\0- ]*\)'
+ ),
acquire=parse_cookie_lock.acquire,
release=parse_cookie_lock.release,
):
@@ -1068,20 +1069,16 @@
acquire()
try:
-
- mo_q = qparmre.match(text)
- mo_p = parmre.match(text)
-
- if mo_q:
+ if qparmre.match(text) >= 0:
# Match quoted correct cookies
- name = mo_q.group(2)
- value = mo_q.group(3)
- l = len(mo_q.group(1))
- elif mo_p:
+ name=qparmre.group(2)
+ value=qparmre.group(3)
+ l=len(qparmre.group(1))
+ elif parmre.match(text) >= 0:
# Match evil MSIE cookies ;)
- name = mo_p.group(2)
- value = mo_p.group(3)
- l = len(mo_p.group(1))
+ name=parmre.group(2)
+ value=parmre.group(3)
+ l=len(parmre.group(1))
else:
# this may be an invalid cookie.
# We'll simply bail without raising an error