File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1515
1616from lib .core .common import extractErrorMessage
1717from lib .core .common import extractRegexResult
18+ from lib .core .common import getPublicTypeMembers
1819from lib .core .common import getUnicode
1920from lib .core .common import readInput
2021from lib .core .common import resetCookieJar
@@ -53,7 +54,27 @@ def forgeHeaders(items=None):
5354 headers = dict (conf .httpHeaders )
5455 headers .update (items or {})
5556
56- headers = dict (("-" .join (_ .capitalize () for _ in key .split ('-' )), value ) for (key , value ) in headers .items ())
57+ class _str (str ):
58+ def capitalize (self ):
59+ return _str (self )
60+
61+ def title (self ):
62+ return _str (self )
63+
64+ _ = headers
65+ headers = {}
66+ for key , value in _ .items ():
67+ success = False
68+ if key .upper () not in (_ .upper () for _ in getPublicTypeMembers (HTTP_HEADER , True )):
69+ try :
70+ headers [_str (key )] = value # dirty hack for http://bugs.python.org/issue12455
71+ except UnicodeEncodeError : # don't do the hack on non-ASCII header names (they have to be properly encoded later on)
72+ pass
73+ else :
74+ success = True
75+ if not success :
76+ key = '-' .join (_ .capitalize () for _ in key .split ('-' ))
77+ headers [key ] = value
5778
5879 if conf .cj :
5980 if HTTP_HEADER .COOKIE in headers :
You can’t perform that action at this time.
0 commit comments