summaryrefslogtreecommitdiff
path: root/webob
Commit message (Collapse)AuthorAgeFilesLines
...
* change content-range parsing to regexpSergey Schetinin2011-09-261-34/+10
|
* tidy up testsSergey Schetinin2011-09-261-4/+0
|
* refactor Range to only handle a single rangeSergey Schetinin2011-09-262-94/+42
|
* allow resp.etag = (tag, False) for setting weak etagsSergey Schetinin2011-09-251-6/+10
|
* version 1.2a21.2a2Sergey Schetinin2011-09-251-1/+1
|
* test coverage back at 100%Sergey Schetinin2011-09-251-2/+2
|
* test coverage; transcode fixes; remove multidict_from_bodyfileSergey Schetinin2011-09-254-67/+27
|
* Merge branch 'sergey-1.2-py2-only' into 1.2-mergeSergey Schetinin2011-09-257-381/+403
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/test_descriptors.py tests/test_etag.py tests/test_misc.py tests/test_multidict.py tests/test_request.py tests/test_request_nose.py tox.ini webob/cookies.py webob/dec.py webob/descriptors.py webob/etag.py webob/exc.py webob/multidict.py webob/request.py webob/response.py
| * use except Exception as exc syntaxsergey-1.2-py2-onlySergey Schetinin2011-09-242-3/+3
| |
| * merge transcode into requestSergey Schetinin2011-09-222-91/+72
| | | | | | | | * req = req.decode()
| * improve webob.transcodeSergey Schetinin2011-09-221-47/+60
| | | | | | | | | | * add Transcoder * use Request for environ manipulation
| * make 304 response generation a bit more tidySergey Schetinin2011-09-221-4/+4
| |
| * improve req.charset handlingSergey Schetinin2011-09-221-31/+47
| | | | | | | | | | | | | | | | | | * allow creating request with non-utf-8 charset in content-type * actually detect charset for req.charset * when setting allow noop assigns * check charset in POST * allow GET to work with any charset * add _content_type_raw attr
| * enable weak matching for if-none-matchSergey Schetinin2011-09-212-3/+3
| | | | | | | | | | * parse req.if_none_match with ETagMatcher.parse(val, strong=False) * full tests
| * much stricter parsing for if-none-match, if-range and if-match headersSergey Schetinin2011-09-212-31/+13
| |
| * remove internal weak/strong differentiation in ETagMatcher, filter weak out ↵Sergey Schetinin2011-09-211-31/+18
| | | | | | | | | | | | | | by default * remove ETagMatcher.weak_etags * new arg to ETagMatcher.parse(value, strong=True)
| * change IfRange api to `resp in req.if_range`Sergey Schetinin2011-09-212-16/+8
| | | | | | | | | | | | * when parsing if-range, drop weak etags * remove IfRange.match and .match_response * adjust tests
| * better support for weak response etagSergey Schetinin2011-09-213-14/+30
| | | | | | | | | | | | | | | | * when setting resp.etag to a well-formed value, do not escape it * when reading resp.etag return weak etag contents as well (was returning None) * add resp.etag_strong r/o attr that returns the same value as resp.etag for strong etags and None otherwise * change IfRange matching to use etag_strong
| * set request body as seekable after transcodingSergey Schetinin2011-09-201-0/+1
| |
| * GetDict.tracker -> on_changeSergey Schetinin2011-09-202-21/+17
| |
| * remove todo that is no longer relevantSergey Schetinin2011-09-201-1/+0
| |
| * hardcode utf-8 into FakeCGIBody and MultiDict.form_fieldstorageSergey Schetinin2011-09-202-9/+7
| |
| * mark Response.unicode_errors for deprecationSergey Schetinin2011-09-201-1/+1
| |
| * hardcode Request.charset to 'UTF-8'Sergey Schetinin2011-09-203-78/+40
| | | | | | | | | | * raise errors if trying to pass non-utf8 charset to Request or to set it later, same for * remove unicode_errors, raise errors if passed into constructor
| * remove debug prints in trasncodeSergey Schetinin2011-09-201-2/+0
| |
| * add webob.transcodeSergey Schetinin2011-09-202-15/+96
| | | | | | | | | | | | * new detect_charset func * _encode_multipart now assumes utf8 and can write to caller-supplied file object * some tests
| * refactor Cookie.loadSergey Schetinin2011-09-201-18/+20
| | | | | | | | | | * add _parse_cookie for parsing the internal cookie k,v pairs * simpler Cookie.load implementation thanks to the new method Cookie.add(k, v) -> Morsel (or {} if k is not a valid name)
| * change req.cookies implementation to parse on demandSergey Schetinin2011-09-202-16/+18
| | | | | | | | | | | | * add webob.cookies.parse_cookie for simple parsing * change _valid_cookie_name implementation to filter out $key and reserved names * do not cache parsed cookies dict in the environ
| * drop UnicodeMultiDict; change TrackableMultiDict -> GetDictSergey Schetinin2011-09-202-215/+63
| | | | | | | | | | | | * decode cgi.FieldStorage in MultiDict.from_fieldstorage * add encoding and errors params to FakeCGIBody * same for _encode_multipart
| * req.script_name and .path_info contain unicode nowSergey Schetinin2011-09-203-35/+42
| | | | | | | | | | * uscript_name and upath_info are deprecated * change deprecated_property implementation
| * don't special-case ETagMatcher.parse('*')Sergey Schetinin2011-09-201-2/+2
| |
| * refactor IfRangeSergey Schetinin2011-09-203-72/+45
| | | | | | | | | | | | * remove NoIfRange * separate IfRangeDate class * simpler __str__ and __repr__
| * remove what remains of py25 supportSergey Schetinin2011-09-201-6/+1
| |
| * cherrypick some low-impact changes from chrism-py3 branchSergey Schetinin2011-09-193-18/+20
| |
| * deprecate more stuffSergey Schetinin2011-09-187-177/+54
| | | | | | | | | | | | | | | | | | * WARNING! doctests are broken * finalize deprecation of Request.str_* * finalize deprecation of first_match and weak_match * raise error when decode_param_names is used in any way * raise error when accessing HTTPException.exception * hardcode key decoding in UnicodeMultiDict
* | remove exec_, change reraise to take single argumentSergey Schetinin2011-09-252-27/+7
| |
* | remove print_ from compatSergey Schetinin2011-09-251-48/+0
| |
* | fix etag_md5(set_content_md5=True)Sergey Schetinin2011-09-251-4/+5
| | | | | | | | | | * content-md5 has to be base64 encoded, so the '==' should not be stripped * also str(b'..') produces ugly results on py3 and tests were just copying that code as well
* | _empty_bytes -> b''Sergey Schetinin2011-09-251-4/+2
| |
* | rewrite _status__setSergey Schetinin2011-09-251-9/+9
| |
* | binary_type -> bytesSergey Schetinin2011-09-257-17/+9
| |
* | replace iteritems_(kw) with kw.items()Sergey Schetinin2011-09-251-5/+3
| |
* | remove text_to_wsgiSergey Schetinin2011-09-252-10/+2
| | | | | | | | | | | | | | | | if the header is set to * text on py3 we trust it to be in latin-1 charset * bytes on py3 the resulting response is invalid * text on py2 we encode to latin-1 like we always did * bytes on py2 we use it verbatim
* | specialize upath_property by py versionSergey Schetinin2011-09-251-6/+13
| |
* | use undeprecated escapeChris McDonough2011-09-242-2/+6
| |
* | make path_info, script_name unicode, deprecate u*Sergey Schetinin2011-09-241-5/+14
| |
* | fix url_unquote on py3 (should be real url -> bytes -> unquote -> latin-1 text)Sergey Schetinin2011-09-241-1/+1
| |
* | implement url_unquote as a wrapper around compat.unquote on py3Sergey Schetinin2011-09-241-3/+5
| |
* | _empty_byte -> b''Sergey Schetinin2011-09-241-9/+7
| |
* | make all cookie morsel values bytesSergey Schetinin2011-09-242-13/+11
| |