python311-WebOb-1.8.7-150400.11.6.1<>,pfWp9|uSUP+b(.-Kip K^0ō5Ұ )y7?J:pYR+fb{!wrjR v ܥGH[o=tï,rrQ2}4 e;6Ӽts q-t4\=wie>D?4d & G@DPTm   > \  ) *x,/2J2t4445c(58595:7FGHI XY\]^bFcdve{f~luv wxy7z0Cpython311-WebOb1.8.7150400.11.6.1WSGI request and response objectWebOb provides wrappers around the WSGI request environment, and an object to help create WSGI responses. The objects map much of the specified behavior of HTTP, including header parsing and accessors for other standard parts of the environment.fWh04-ch1c65SUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Development/Languages/Pythonhttp://webob.org/linuxnoarch(<e.YY** *#*#6}55C^D2 $a$ad d !"Hl""BB5"t]O (#,6yR i9 t6Lic/RA{ <!U^)m/*$6IG,XQ*_ZZ+>`/l$$s[BD-#Oflg@"O5]c$KDI9~/o F 4AA큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤fOfOfO[)fOfO[)fO`. fOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfOfO`. `. `. `. `. `. `. `. `. `. `. `. `. `. fI`. `. fV`.H`. fOfNfNY;^'͛Y;Y;ZWY;Y;Y;["Y;`. `. `. fN^'ݫY;`. `. Y;`. Y;Y;Y;`. `. fOfOfOW+ϑ]5fO]5]&dfO]5]5fO].O]5]3fNfMfMfMfMfMfMfMfMfNfNfNfNfNfNfNfNfOfNfNfNfOfOfNfOfOfNfNfNfNfNfVY;925b45eadddfc028b07736beafdd35e2ba54a8c129828d6c1f24ca61400500ab152d910e505d64a1d29ce46f5e61add08f5c266df93dcef91f96b29b0b46e24c01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b768844a63490d44ac23248af48764bf193e460db376fe51da2a56d6e988790a03cc81190c417871af9539787a3b94552274d7105837e22bba1af9971fb6bfc0301ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b969010bfa306e5a30ed37beaa12a4018c07075acf57da408659b69be2ce6e66b57df7ffcbc6298a9c1b12b42e19afce47d67c3b47c88cbca1cffd9f9fc53986e57df7ffcbc6298a9c1b12b42e19afce47d67c3b47c88cbca1cffd9f9fc53986e41b562066896513b52b7ead95c165c6b5acbd1a0833f7e6a5a399e409f83e2a241b562066896513b52b7ead95c165c6b5acbd1a0833f7e6a5a399e409f83e2a240eed7617c6fba1728c6005e5f472e709fc59f48d8e7e4e98dffa0bdfa4ef11e5ae6da2bafee64e46dd7b42dde92b817129bd53c99916c64a12a3cf7effc4e86ba0d8441e8b6d61d8f05569289f42c414f06178298985d881dd9d493376e4ca1ba0d8441e8b6d61d8f05569289f42c414f06178298985d881dd9d493376e4ca1d3605a3d1359b34de7dd8c0d4902d84bd163f8c92565719e968d452a4aba66e6d3605a3d1359b34de7dd8c0d4902d84bd163f8c92565719e968d452a4aba66e69bf1983889c6984c11e57febee42d323646aa577bc4a01a73cb02c870a3aa1489bf1983889c6984c11e57febee42d323646aa577bc4a01a73cb02c870a3aa148b69ee7cf1233384770fc4352b8a03637e9144f4fbbb0fba90c567b0a5359dd8264e4f9ef1136d817411009ec319ec924055af474fd04b93e280ac16685ce980e0a195d556722279722ed10b9a10707a7591486801f55ddcf89696a3eeccb1a260a195d556722279722ed10b9a10707a7591486801f55ddcf89696a3eeccb1a26fd37dd43fd10662c515a01e59522b2c3cb1dff831a84c32b4d9f968abb53ea5dfd37dd43fd10662c515a01e59522b2c3cb1dff831a84c32b4d9f968abb53ea5d17f3f8c28d4fa53764add36af3aa32e6e4c8d700883404806e71f22887c9238d32b35d37d931ef341c806d12a3489fbb545e04b27fc93ab3f29d58191e66473e652433988d408b4595e7384e8b82895f09c8ad3e52afbfdc364e225d46194c4a652433988d408b4595e7384e8b82895f09c8ad3e52afbfdc364e225d46194c4a7f50d9a8e2672a0db127008ce2fd7df31046f17fef417175886e440b37f274ef7f50d9a8e2672a0db127008ce2fd7df31046f17fef417175886e440b37f274ef2abeb5956390661598c29c46fe3a17a7532f1b797ff21458227dfbb3aa0773af2abeb5956390661598c29c46fe3a17a7532f1b797ff21458227dfbb3aa0773afec1a2db8dbee04636140d4dd81da5548212e24bea0038b1d36103ef3d1d69bb1ec1a2db8dbee04636140d4dd81da5548212e24bea0038b1d36103ef3d1d69bb165839a1d8639023bac6034b07564695a89232f58d652b2d15694a036ddcd0ca5109b712ac99fe98ab09e8b24b70abf142a26e58555ccc23e1978495e724f50e6f4a580be877352aae513fe749c3c91ec4fb88ac38e29cf6c0be5939f9231928199cd02aad87778a558498ab72b37b6e00a44c13d6c036be1f1b0431996d6c333353bd11808d8bacd2180b128ff1cc40b52f791f7633fc980d2baa89087b3e3bc353bd11808d8bacd2180b128ff1cc40b52f791f7633fc980d2baa89087b3e3bcc5007894231f27e0ccfdaf2a6105187c107eb2d0c0efe152caaf2ff1cf0445c3c5007894231f27e0ccfdaf2a6105187c107eb2d0c0efe152caaf2ff1cf0445c30da9fa06390bfa3d40dee859cb1b724077c117c80baeb25844187d66027fd07baf302dbd9cb81d44cacf3c3db031dc466c0d28c5248e48efa5133e00e197657e376346d1a097e531fb49d1ac53944ccc16f614e7edcfa2f19a04ff3c8c84df883d1e785ad29981fcc9178039bb9096a8dc5b0f171b6553345d9058dff88ca46e7beced3c042d53237586fe5b2ba47693f486fb011fd4803ca92a0608c19ed51675d7ce768f32b9f973fe441dc53e3084ec25e04c5092530c27b025a0227ea4ae1247d1bf5e561f38222d89ad2c7dc7e7395054f10eeb0f2c44c0432717df490f8a7dac8e0cfe8e598d99a2f3de00d4d9ae2ef628e0fc3737ca9475e0aa9af37293fb5b7223180577e1b856d90b50208075e9d25df688b19d66dc88582a67eecb68c097e2167647293ef8c88cac7a136684e25702b7a686bfc526176d65cf2301122317a44ade6c4fefc3143cc0bbeb033498efb1fb51ec485887be280e230b32967a9e877f949d37fd6f1388f765b752de6adcf7fd9441650fbc97b7d55434e11d587ad696ddcd58c79e548bdb2e05c45b966612fc84d2cca17af2ceff18ea27891a765b31651a436c411b5b3d88601c7b22c57121ec78b2904237432d5223c20ea2dfde46cbfd0aa945ddc080f8b6ae9e9cc8e26571f61414c1578cb514131a94df019fee91d4bce4b195841ce8d9e55629f31745c6857ae6b5a54d960971bf4c70121172f9f02be364e5e323a2a8c2d26319bc0288f9761776322f43faf49beb50b62dac3ca43825be38bf1693581c0c37e360f777503a31fe97b292c2b3f92f158068cbab496cfd53336bd5ca4742507c88de053f8f6f0fa396cbe9085dede7caceef207977f921711d75a560f0bc14ac78eb60213a94dcdcd7de24abf0e1371b39dd42bf62eb3f7848abb193f25b6b08b5a87471959ce3ecf08728254c7db940d32ecfa9e6e1704f91f760a44a21d0e00a7554e9e67ea8a932914d01aa69671e6aeabdf3f4bba51704347a34b7b8234b389ab8b8c8660f15dfe124764d3eea2f0179d817d45b0566e7ef3d674cdf796bbc4f7e47771c0ff80be9022f77ada1da3bfaff5583b4b36e44954a48dd613f497a449cebe518e89d2ecc13dad07c1b0b5fcf4eeb630f270b6357c6119f706c1a75066093e24c7cd460cfbef0412111a1757a42351e0f6d439d6cf39d88b56dcca5806dc7d525ce09bf2b63ea27fe0dbc26df9040772291c5b898435d4c88ce4a6e850cceed9af8c08257e7bea41a68fafa94fc4a1b1dedb2025bbfb17789908a0292d0e3280d54c58c33c5f942f2cd833ca15e744f67fbd05599754b18d44b5c6108a60d65cc1730a0a7a86d67e656a3de5e516b9c79eaf1e3939a8d8fed965530b5084d01416012c1c2015bcce10c7cbbec4233c641a3198cee4b9bcb36d6afac2dfe6720352731964bb87643d1d904e5212eb89942fc47f8c807bdcc727122f9480465259b8676a33601b6c0f88a0bfbba767552d5c15367a66ff3809b000aeec6317f9b1dd128841ec4dd7900889e77dbbc674414bbe71243fb81f5fa7751dc9baa490a896770f9cbf29bfb16c35bd75706b5de627b1f5ad7fe1deed6aace5ff4e4885d28636658c34ad160ee27bc4919e7e9e6b6cda40644517ca74d32203e32fba89ef832aba1ed93e457b3ee956e02644267ff671295c8be31ac611251e48b06887a31f81e19265af5882e2e86de7fd17f24f667e5d5781cab694f3f638ae4e0cbc89add0b478503181a3a2d8b4c21c2aeec890367f41bd75af9e73e406280bc55511a7600eb433d1bff160dc4950c502483d31acefc4a6c9372301d317e7ff49a2d44f5d953254122dd2ef8d56942c3022f7e24fd20f17f1e1144b590d98d354c076549049fac0de09a6c96b7bebfb5aafb42d6b2b9315733317ed082723d93e10e97c2757414b88d32f49120822e8b2eee887fe451cb15f5e600db64ab59af7f1313dfc6920e4bd8cb680eb6e210c49046dd8322c37d04109dd6cd6e02d1c3445f4e7b05c45a4690fe6739f23a6561786e3cb4e33e4a96562a1305a8b74c0d45dc215a64018692cd5d4cd70ec0a21d2befa2bb3b536c386da3ceec79399baa9ed6eb812ff9d48f68254e56924415eb44309e87c55b521c01e9b2935aa513e0dccc33536df7c209044d895c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3e5a93a88493aa32aab228bf4571c01207d3b42b0002409a454d404b4d8395bd550925e8ad7bd971391a8b1e98be8e87a6971919eb5b60c196485941c3c1df089a4cd39856438b0eae2c0155ad15e281513959f7ccf998784e83e803b9be5b1b4747e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc00854115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac63c67b5260b50a0f434e9b26585479ce67ab2184adc7b31c26d665642d3512835f9ebc062c88c456c1fe15f28f160cdc2201df68f7ede6087d847cc41df248f87df808f0aa32fbe90fb9c9c846917faff3fdd4e236c284b76c02dd33753dc9017742d8fad13bc28fc726775196ec9ab953febf9bde175c5845128361c953fa17f49b8501e4a6c238bd48bff7b72e949cbd9170ece02882f812903c4cdbdfb17724ed8cb066da088980033e4c5858c9896b8f5a4683016c71d360e27b57413273a1f8eecc50bc0bf1cfd1ee11f5e71fc8a8b3c67e47da1ec157603d4897ce558c894263a531ceea5d5f4a524f8996065a4260a4855301566f70717becaaf71ba9a46ffa342fce7ec5fe0c368af952c8e5ece7043f0ba0982dc592407492c14ebbbcfa81b8145ac2bf54b8237d81e675465eeb1c84ca23d81985580ae6f2b64e68f0fbef8578130fc3848a9bf8817d783a7e216e96b802eeced1594a9a628b5bb00a36ebc37191b510586a575c19b01e6c2fa965fd1a5bccbc06c0a1ceea39e2abe5620afa387071ae13ff3ab26804bf580c618e40f3453ca54ce6aabff5030ac08aa50b92b8df07fc027c74f24e2d6a71cbf4f80c829e528564404efbd9e1a18f0c9b688ade77a48aa1ff020f37076cd3c8061868a14ac76db00f5d7091ffedb5221db7917ac41ced78a7fd7468ca8d3c52e18f8b15336180a041ca143f60e23c8cc888544e33255bcb0e7aaa36d9b9e14478dd78c933ae24330cfe566b734726fa0f980e44b6e6f84ef3c71e50d47de422e620ecada14e60ef761bc169b4678df4903f6246e6b066a1bfcae7676ce4e0f7ac8e6d7ea1d8b41ff98f8885fee142c5c275a2511f04733d382e0e0f2b852d0f8caf7c64d00cfc3a31a5102e8797f841d2a33840325c77de276cfefe8cee9692bcae6fc1bcf2e4909e76dec7c5dcb35d4c266a118ca421eff7a50cfd6fcdbfb30c1da1fcf2129c0566f9277eb6abcc6649a66c26a887f717bab91cd9dd7fd1fe13f39d28557d6b43d70cfca08bf772d9bb7ecee9b876cbfee30af7db93dc3f49f6a24d464bb073de49ef04a2ac29a64ffa3051cfe2411481c02e24407b14f38008dfaeca4f61bb7aaf66325fd67602a51a5d7a8426fb3a7a94441a8e7bc56740f6caf9f32e08dcac5737d87c63ccdd106af1f22d932d9f84464b443c35311db5f391c14f9d954b005b0fad31564fac0124294c7bda5dcccaca6a2daab45fe0b25d64546f26fa2a84112dd5c6e4556ca84e48f1858bbdc381d0b78334db2910001cda932b869eef08bb2af72458e7867ca65065cfb56d9d42904172c0b3db5e1350bd6f8158eb96888b786c365aa3471c8c0ffa3663572b63820809d65ef47629d213282658a9a4ce20a430fe3ef898891a5b5916b3e51f5873afcd38faaf57d36f495586cd9899268441bf8fee81a6008e45788ade4e4fec6d8e928fd204e4a1e0653a3b68acc41110b209255165eaea27bc4919e7e9e6b6cda40644517ca74d32203e32fba89ef832aba1ed93e457b3rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-WebOb-1.8.7-150400.11.6.1.src.rpmpython311-WebOb@     python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.113.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3f3d dRLdEdBzd7`s`U`>(^h\3?@[z@[l,[l,Z@Z@Y^&@Y i@XX@X@WUeWQq@Vn@steven.kowalik@suse.combwiedemann@suse.commliska@suse.czmcepl@suse.comdmueller@suse.commcepl@suse.commcepl@suse.comcode@bnavigator.dedmueller@suse.comdmueller@suse.comtbechtold@suse.comdmueller@suse.comtchvatal@suse.comcomurphy@suse.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comtoddrme2178@gmail.comtbechtold@suse.comtbechtold@suse.comdmueller@suse.comdmueller@suse.comtbechtold@suse.comaplanas@suse.com- Add patch CVE-2024-42353-url-redirection.patch: * The use of WebOb's Response object to redirect a request to a new location can lead to an open redirect if the Location header is not a full URI. (bsc#1229221, CVE-2024-42353)- Drop sphinx doctrees for reproducible builds- Use sphinx-build and do not depend on removed build_sphinx in Sphinx 7.0 (boo#1211051).- Switch documentation to be within the main package for SLE15- add sle15_python_module_pythons (jsc#PED-68)- Make calling of %{sle15modernpython} optional.- We should require python3-* packages, not python-* ones, which are python2.- fix test suite for python39 (based on gh#Pylons/webob#390)- update to 1.8.7: - Decoding deflate-encoded responses now supports data which is packed in a zlib container as it is supposed to be. The old, non-standard behaviour is still supported.- update to 1.8.6: - The SameSite value now includes a new option named "None", this is a new change that was introduced in https://tools.ietf.org/html/draft-west-cookie-incrementalism-00update to 1.8.5: - Fixed one last remaining invalid escape sequence in a docstring. - Response.content_type now accepts unicode strings on Python 2 and encodes them to latin-1. See https://github.com/Pylons/webob/pull/389 and https://github.com/Pylons/webob/issues/388 - Accept header classes now support a .copy() function that may be used to create a copy. This allows ``create_accept_header`` and other like functions to accept an pre-existing Accept header. See https://github.com/Pylons/webob/pull/386 and https://github.com/Pylons/webob/issues/385 - Some backslashes introduced with the new accept handling code were causing DeprecationWarnings upon compiling the source to pyc files, all of the backslashes have been reigned in as appropriate, and users should no longer see DeprecationWarnings for invalid escape sequence. See https://github.com/Pylons/webob/issues/384 - ``acceptparse.AcceptValidHeader``, ``acceptparse.AcceptInvalidHeader``, and ``acceptparse.AcceptNoHeader`` will now always ignore offers that do not match the required media type grammar when calling ``.acceptable_offers()``. Previous versions raised a ``ValueError`` for invalid offers in ``AcceptValidHeader`` and returned them as acceptable in the others. See https://github.com/Pylons/webob/pull/372 - Add Request.remote_host, exposing REMOTE_HOST environment variable. - Added ``acceptparse.Accept.parse_offer`` to codify what types of offers are compatible with ``acceptparse.AcceptValidHeader.acceptable_offers``, ``acceptparse.AcceptMissingHeader.acceptable_offers``, and ``acceptparse.AcceptInvalidHeader.acceptable_offers``. This API also normalizes the offer with lowercased type/subtype and parameter names. See https://github.com/Pylons/webob/pull/376 and https://github.com/Pylons/webob/pull/379- add explicit requires on python to have SSL module available for passing the tests- Drop devel dependency - Use %license macro - Use proper upstream tarball - Really execute tests- Update to 1.8.2: - SameSite may now be passed as str or bytes to `Response.set_cookie` and `cookies.make_cookie`. This was an oversight as all other arguments would be correctly coerced before being serialized. See https://github.com/Pylons/webob/issues/361 and https://github.com/Pylons/webob/pull/362 - acceptparse.MIMEAccept which is deprecated in WebOb 1.8.0 made a backwards incompatible change that led to it raising on an invalid Accept header. This behaviour has now been reversed, as well as some other fixes to allow MIMEAccept to behave more like the old version. See https://github.com/Pylons/webob/pull/356 - ``request.POST`` now supports any requests with the appropriate Content-Type. Allowing any HTTP method to access form encoded content, including DELETE, PUT, and others. See https://github.com/Pylons/webob/pull/352 - WebOb is no longer officially supported on Python 3.3 which was EOL'ed on 2017-09-29. - Many changes have been made to the way WebOb does Accept handling, not just for the Accept header itself, but also for Accept-Charset, Accept-Encoding and Accept-Language. This was a `Google Summer of Code `_ project completed by Whiteroses (https://github.com/whiteroses). Many thanks to Google for running GSoC, the Python Software Foundation for organising and a huge thanks to Ira for completing the work. See https://github.com/Pylons/webob/pull/338 and https://github.com/Pylons/webob/pull/335. Documentation is available at https://docs.pylonsproject.org/projects/webob/en/master/api/webob.html - The cookie APIs now have the ability to set the SameSite attribute on a cookie in both ``webob.cookies.make_cookie`` and ``webob.cookies.CookieProfile``. See https://github.com/Pylons/webob/pull/255 - Exceptions now use string.Template.safe_substitute rather than string.Template.substitute. The latter would raise for missing mappings, the former will simply not substitute the missing variable. This is safer in case the WSGI environ does not contain the keys necessary for the body template. See https://github.com/Pylons/webob/issues/345. - Request.host_url, Request.host_port, Request.domain correctly parse IPv6 Host headers as provided by a browser. See https://github.com/Pylons/webob/pull/332 - Request.authorization would raise ValueError for unusual or malformed header values. See https://github.com/Pylons/webob/issues/231 - Allow unnamed fields in form data to be properly transcoded when calling request.decode with an alternate encoding. See https://github.com/Pylons/webob/pull/309 - ``Response.__init__`` would discard ``app_iter`` when a ``Response`` had no body, this would cause issues when ``app_iter`` was an object that was tied to the life-cycle of a web application and had to be properly closed. ``app_iter`` is more advanced API for ``Response`` and thus even if it contains a body and is thus against the HTTP RFC's, we should let the users shoot themselves by returning a body. See https://github.com/Pylons/webob/issues/305 - When calling a ``@wsgify`` decorated function, the default arguments passed to ``@wsgify`` are now used when called with the request, and not as a `start_response` .. code:: def hello(req, name): return "Hello, %s!" % name app = wsgify(hello, args=("Fred",)) req = Request.blank('/') resp = req.get_response(app) # => "Hello, Fred" resp2 = app(req) # => "Hello, Fred" Previously the ``resp2`` line would have failed with a ``TypeError``. With this change there is no way to override the default arguments with no arguments. See https://github.com/Pylons/webob/pull/203 - When setting ``app_iter`` on a ``Response`` object the ``content_md5`` header is no longer cleared. This behaviour is odd and disallows setting the ``content_md5`` and then returning an iterator for chunked content encoded responses. See https://github.com/Pylons/webob/issues/86- Drop not needed python-pytest-cov BuildRequires- update to 1.7.4: - Add support for `wsgi.input_terminated` in the wsgi environ to allow for Chunked Encoding to be used with WebOb- update to 1.7.3: - Request.host_url, Request.host_port and Request.domain now all understand and know how to parse IPv6 Host headers sent by browsers. See https://github.com/Pylons/webob/pull/332- Fix Provides/Obsoletes.- update to 1.7.2: - Allow unnamed fields in form data to be properly transcoded when calling request.decode with an alternate encoding. See https://github.com/Pylons/webob/pull/309 - Switch to singlespec approach- update to 1.7.1: - ``Response.__init__`` would discard ``app_iter`` when a ``Response`` had no body, this would cause issues when ``app_iter`` was an object that was tied to the life-cycle of a web application and had to be properly closed. ``app_iter`` is more advanced API for ``Response`` and thus even if it contains a body and is thus against the HTTP RFC's, we should let the users shoot themselves by returning a body. See https://github.com/Pylons/webob/issues/305 - WebOb is no longer supported on Python 2.6 and PyPy3 (due to pip no longer supporting Python 3.2 even on PyPy) - ``Response.content_type`` removes all existing Content-Type parameters, and if the new Content-Type is "texty" it adds a new charset (unless already provided) using the ``default_charset``. See https://github.com/Pylons/webob/pull/301 - ``Response.set_cookie`` no longer accepts a key argument. This was deprecated in WebOb 1.5 and as mentioned in the deprecation, is being removed in 1.7 - ``Response.__init__`` will no longer set the default Content-Type, nor Content-Length on Responses that don't have a body. This allows WebOb to return proper responses for things like `Response(status='204 No Content')`. - ``Response.text`` will no longer raise if the Content-Type does not have a charset, it will fall back to using the new ``default_body_encoding`. To get the old behaviour back please sub-class ``Response`` and set ``default_body_encoding`` to ``None``. See https://github.com/Pylons/webob/pull/287 - WebOb no longer supports Chunked Encoding, this means that if you are using WebOb and need Chunked Encoding you will be required to have a proxy that unchunks the request for you. Please read https://github.com/Pylons/webob/issues/279 for more background. - ``Response`` has a new ``default_body_encoding`` which may be used to allow getting/setting ``Response.text`` when a Content-Type has no charset. See https://github.com/Pylons/webob/pull/287 - ``webob.Request`` with any HTTP method is now allowed to have a body. This allows DELETE to have a request body for passing extra information. See https://github.com/Pylons/webob/pull/283 and https://github.com/Pylons/webob/pull/274 - Add ``tell()`` to ``ResponseBodyFile`` so that it may be used for example for zipfile support. See https://github.com/Pylons/webob/pull/117 - Allow the return from ``wsgify.middleware`` to be used as a decorator. See https://github.com/Pylons/webob/pull/228 - Fixup ``cgi.FieldStorage`` on Python 3.x to work-around issue reported in Python bug report 27777 and 24764. This is currently applied for Python versions less than 3.7. See https://github.com/Pylons/webob/pull/294 and https://github.com/Pylons/webob/pull/300 - ``Response.set_cookie`` now accepts ``datetime`` objects for the ``expires`` kwarg and will correctly convert them to UTC with no tzinfo for use in calculating the ``max_age``. See https://github.com/Pylons/webob/issues/254 and https://github.com/Pylons/webob/pull/292 - Fixes ``request.PATH_SAFE`` to contain all of the path safe characters according to RFC3986. See https://github.com/Pylons/webob/pull/291 - WebOb's exceptions will lazily read underlying variables when inserted into templates to avoid expensive computations/crashes when inserting into the template. This had a bad performance regression on Py27 because of the way the lazified class was created and returned. See https://github.com/Pylons/webob/pull/284 - ``wsgify.__call__`` raised a ``TypeError`` with an unhelpful message, it will now return the ``repr`` for the wrapped function: https://github.com/Pylons/webob/issues/119 - ``Response.json``'s ``json.dumps``/``json.loads`` are now always UTF-8. It no longer tries to use the charset. - The ``Response.__init__`` will by default no longer set the Content-Type to the default if a ``headerlist`` is provided. This fixes issues whereby ``Request.get_response()`` would return a Response that didn't match the actual response. See https://github.com/Pylons/webob/pull/261 and https://github.com/Pylons/webob/issues/205 - Cleans up the remainder of the issues with the updated WebOb exceptions that were taught to return JSON in version 1.6. See https://github.com/Pylons/webob/issues/237 and https://github.com/Pylons/webob/issues/236 - ``Response.from_file`` now parses the status line correctly when the status line contains an HTTP with version, as well as a status text that contains multiple white spaces (e.g HTTP/1.1 404 Not Found). See https://github.com/Pylons/webob/issues/250 - ``Response`` now has a new property named ``has_body`` that may be used to interrogate the ``Response`` to find out if ``Response.body`` is or isn't set. This is used in the exception handling code so that if you use a WebOb HTTP Exception and pass a generator to ``app_iter`` WebOb won't attempt to read the whole thing and instead allows it to be returned to the WSGI server. See https://github.com/Pylons/webob/pull/259- update to 1.6.2: * WebOb's exceptions will lazily read underlying variables when inserted into templates to avoid expensive computations/crashes when inserting into the template. This had a bad performance regression on Py27 because of the way the lazified class was created and returned. See https://github.com/Pylons/webob/pull/284- fix download url- update to 1.6.1: - Response.from_file now parses the status line correctly when the status line contains an HTTP with version, as well as a status text that contains multiple white spaces (e.g 404 Not Found). See https://github.com/Pylons/webob/issues/250 - Python 3.2 is no longer supported by WebOb - Request.decode attempted to read from the an already consumed stream, it has now been redirected to another stream to read from. See https://github.com/Pylons/webob/pull/183 - The application/json media type does not allow for a charset as discovery of the encoding is done at the JSON layer. Upon initialization of a Response WebOb will no longer add a charset if the content-type is set to JSON. See https://github.com/Pylons/webob/pull/197 and https://github.com/Pylons/pyramid/issues/1611 - Lazily HTML escapes environment keys in HTTP Exceptions so that those keys in the environ that are not used in the output of the page don't raise an exception due to inability to be properly escaped. See https://github.com/Pylons/webob/pull/139 - MIMEAccept now accepts comparisons against wildcards, this allows one to match on just the media type or sub-type, without having to explicitly match on both the media type and sub-type at the same time. See https://github.com/Pylons/webob/pull/185 - Add the ability to return a JSON body from an exception. Using the Accept information in the request, the exceptions will now automatically return a JSON version of the exception instead of just HTML or text. See https://github.com/Pylons/webob/pull/230 and https://github.com/Pylons/webob/issues/209 - exc._HTTPMove and any subclasses will now raise a ValueError if the location field contains a line feed or carriage return. These values may lead to possible HTTP Response Splitting. The header_getter descriptor has also been modified to no longer accept headers with a line feed or carriage return. See: https://github.com/Pylons/webob/pull/229 and https://github.com/Pylons/webob/issues/217- updateto version 1.5.1: * (Bug Fixes) The exceptions HTTPNotAcceptable, HTTPUnsupportedMediaType and HTTPNotImplemented will now correctly use the sub-classed template rather than the default error template. See https://github.com/Pylons/webob/issues/221 * (Bug Fixes) Response’s from_file now correctly deals with a status line that contains an HTTP version identifier. HTTP/1.1 200 OK is now correctly parsed, whereas before this would raise an error upon setting the Response.status in from_file. See https://github.com/Pylons/webob/issues/121 - 1.5.0 * (Bug Fixes) The cookie API functions will now make sure that max_age is an integer or an string that can convert to an integer. Previously passing in max_age=’test’ would have silently done the wrong thing. - 1.5.0b0 * (Bug Fixes) Unbreak req.POST when the request method is PATCH. Instead of returning something cmpletely unrelated we return NoVar. See: https://github.com/Pylons/webob/pull/215 * (Features) HTTP Status Code 308 is now supported as a Permanent Redirect. See https://github.com/Pylons/webob/pull/207 - 1.5.0a1 * (Backwards Incompatibilities) Response.set_cookie renamed the only required parameter from “key” to “name”. The code will now still accept “key” as a keyword argument, and will issue a DeprecationWarning until WebOb 1.7. * (Backwards Incompatibilities) The status attribute of a Response object no longer takes a string like None None and allows that to be set as the status. It now has to at least match the pattern of . Invalid status strings will now raise a ValueError. - 1.5.0a0 * (Backwards Incompatibilities) Morsel will no longer accept a cookie value that does not meet RFC6265’s cookie-octet specification. Upon calling Morsel.serialize a warning will be issued, in the future this will raise a ValueError, please update your cookie handling code. See https://github.com/Pylons/webob/pull/172 * (Backwards Incompatibilities) Response.set_cookie now uses the internal make_cookie API, which will issue warnings if cookies are set with invalid bytes. See https://github.com/Pylons/webob/pull/172 * (Features) Add support for some new caching headers, stale-while-revalidate and stale-if-error that can be used by reverse proxies to cache stale responses temporarily if the backend disappears. From RFC5861. See https://github.com/Pylons/webob/pull/189 * (Bug Fixes) Response.status now uses duck-typing for integers, and has also learned to raise a ValueError if the status isn’t an integer followed by a space, and then the reason. See https://github.com/Pylons/webob/pull/191 * (Bug Fixes) Fixed a bug in webob.multidict.GetDict which resulted in the QUERY_STRING not being updated when changes were made to query params using Request.GET.extend(). * (Bug Fixes) Read the body of a request if we think it might have a body. This fixes PATCH to support bodies. See https://github.com/Pylons/webob/pull/184 * (Bug Fixes) Response.from_file returns HTTP headers as latin1 rather than UTF-8, this fixes the usage on Google AppEngine. See https://github.com/Pylons/webob/issues/99 and https://github.com/Pylons/webob/pull/150 * (Bug Fixes) Fix a bug in parsing the auth parameters that contained bad white space. This makes the parsing fall in line with what’s required in RFC7235. See https://github.com/Pylons/webob/issues/158 * (Bug Fixes) Use ‘rn’ line endings in Response.__str__. See: https://github.com/Pylons/webob/pull/146 * (Documentation Changes) response.set_cookie now has proper documentation for max_age and expires. The code has also been refactored to use cookies.make_cookie instead of duplicating the code. This fixes https://github.com/Pylons/webob/issues/166 and https://github.com/Pylons/webob/issues/171 * (Documentation Changes) Documentation didn’t match the actual code for the wsgify function signature. See https://github.com/Pylons/webob/pull/167 * (Documentation Changes) Remove the WebDAV only from certain HTTP Exceptions, these exceptions may also be used by REST services for example.h04-ch1c 1724054103 !!##%%'()*++--/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.8.7-150400.11.6.1     WebOb-1.8.7-py3.11.egg-infoPKG-INFOSOURCES.txtdependency_links.txtrequires.txttop_level.txtzip-safewebob__init__.py__pycache____init__.cpython-311.opt-1.pyc__init__.cpython-311.pycacceptparse.cpython-311.opt-1.pycacceptparse.cpython-311.pycbyterange.cpython-311.opt-1.pycbyterange.cpython-311.pyccachecontrol.cpython-311.opt-1.pyccachecontrol.cpython-311.pycclient.cpython-311.opt-1.pycclient.cpython-311.pyccompat.cpython-311.opt-1.pyccompat.cpython-311.pyccookies.cpython-311.opt-1.pyccookies.cpython-311.pycdatetime_utils.cpython-311.opt-1.pycdatetime_utils.cpython-311.pycdec.cpython-311.opt-1.pycdec.cpython-311.pycdescriptors.cpython-311.opt-1.pycdescriptors.cpython-311.pycetag.cpython-311.opt-1.pycetag.cpython-311.pycexc.cpython-311.opt-1.pycexc.cpython-311.pycheaders.cpython-311.opt-1.pycheaders.cpython-311.pycmultidict.cpython-311.opt-1.pycmultidict.cpython-311.pycrequest.cpython-311.opt-1.pycrequest.cpython-311.pycresponse.cpython-311.opt-1.pycresponse.cpython-311.pycstatic.cpython-311.opt-1.pycstatic.cpython-311.pycutil.cpython-311.opt-1.pycutil.cpython-311.pycacceptparse.pybyterange.pycachecontrol.pyclient.pycompat.pycookies.pydatetime_utils.pydec.pydescriptors.pyetag.pyexc.pyheaders.pymultidict.pyrequest.pyresponse.pystatic.pyutil.pypython311-WebObCHANGES.txtREADME.rsthtml_sourcesapiclient.txtcookies.txtdec.txtexceptions.txtmultidict.txtrequest.txtresponse.txtstatic.txtwebob.txtchanges.txtcomment-example.txtdifferences.txtdo-it-yourself.txtexperimentalsamesite.txtfile-example.txtindex.txtjsonrpc-example.txtlicense.txtreference.txtwhatsnew-1.5.txtwhatsnew-1.6.txtwhatsnew-1.7.txtwhatsnew-1.8.txtwiki-example.txt_staticalabaster.cssbasic.csscustom.cssdoctools.jsdocumentation_options.jsfile.pngjquery-3.4.1.jsjquery.jslanguage_data.jsminus.pngplus.pngpygments.csssearchtools.jsunderscore-1.3.1.jsunderscore.jsapiclient.htmlcookies.htmldec.htmlexceptions.htmlmultidict.htmlrequest.htmlresponse.htmlstatic.htmlwebob.htmlchanges.htmlcomment-example.htmldifferences.htmldo-it-yourself.htmlexperimentalsamesite.htmlfile-example.htmlgenindex.htmlindex.htmljsonrpc-example.htmllicense.htmlobjects.invpy-modindex.htmlreference.htmlsearch.htmlsearchindex.jswhatsnew-1.5.htmlwhatsnew-1.6.htmlwhatsnew-1.7.htmlwhatsnew-1.8.htmlwiki-example.htmlpython311-WebOblicense.txt/usr/lib/python3.11/site-packages//usr/lib/python3.11/site-packages/WebOb-1.8.7-py3.11.egg-info//usr/lib/python3.11/site-packages/webob//usr/lib/python3.11/site-packages/webob/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python311-WebOb//usr/share/doc/packages/python311-WebOb/html//usr/share/doc/packages/python311-WebOb/html/_sources//usr/share/doc/packages/python311-WebOb/html/_sources/api//usr/share/doc/packages/python311-WebOb/html/_sources/experimental//usr/share/doc/packages/python311-WebOb/html/_static//usr/share/doc/packages/python311-WebOb/html/api//usr/share/doc/packages/python311-WebOb/html/experimental//usr/share/licenses//usr/share/licenses/python311-WebOb/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:35289/SUSE_SLE-15-SP4_Update/5c2053a0931f84c0a6840553b2b69fb3-python-WebOb.SUSE_SLE-15-SP4_Updatedrpmxz5noarch-suse-linux   directoryPython script, ASCII text executableASCII textASCII text, with very long linesPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 11 x 11, 8-bit grayscale, non-interlacedHTML document, UTF-8 Unicode text, with very long linesHTML document, UTF-8 Unicode textHTML document, ASCII text, with very long linesHTML document, ASCII textASCII text, with very long lines, with no line terminators  !"#$%&'()*+,-./0123456RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRX|\r_utf-8e3f5c3112299d18b18a8a1f387df8e8b888ed63f227fc6b37a59c37a97f32206? 7zXZ !t/$]"k%4Pa GKo=P&7|IOsT,4(RH>SbU*V`Ӛ7wzWB$;b.]mÇ76P@MDs|@E۷ ߅⟓Ԫ:,הHNȖ CP6?"&20dgqz10\1=b6{iMփ& g(,ʫ^j/HX?&o XS!(zMK]ևJ"lE Q'}!7ތކ5<7QtMq^CQA,wgw4F:>V$fõ*R ܀" 7/Öie)H @h'YZnE5;0HmzinPm[ލeKk܈E;Eq,n D_=0pD7 Ϙ~|N3.`"3]17:84JeB!+i[5#;3#lxSį!;Lr1_;ȭw!W=DE!jCwOIYfq<[OY-σP{z;tV _芡yhSDܔ=oXUЁJ2)əZZb<ؤ?{.ӂ| %iՑ&5!Ig4׼f(U{Ƽw,&V]ZBRwMl; ߙ )ٔr,_ɳ B?;ߤ~{%эĥ/,%yA%*r51QPf6R>_whDx{\"v 3-Vlu8.,N=tIGzf(4C,%(d=>E 6]sܳr4΄yBvYurz.2ώaNΖ>Yd;Ƨ΃,qLU6bD@ǽiӲN0c˒Z+ EtZ{2e+^q&o2dY23s+ibeEis:]aV7"@|ӄK0}C@U.-\L`MOKNGVu+g ]ߥ*t2L#aINEw}N|QWn9Z}hYc( 5wO܇2m}V0%biR}`'?嘂NPRWsǒM=f(*X+~Kw XyBbgE$/aR6nj-;VcX=;>#3mڮ_:]oc~S 8ݰ7g/ տQhaJ|rͮ LH F1@!8f tPfA@10Jыr5?IXrQ8+*OA/ż [z 5ܽx ;B0 q,ݰ(So8,+9smML(dawVZq%kWq95H_Fo?8 a75I%揂'{Gj뵸Q|m.!&JXX^Ŷ+x=ʎd c;:|z ׸Ϲ{tQizAm4 8 ᯏBBd9Y]RV^gH/&5|7d1]|Me1D= j;lMg7uƩ9x,bIPܭ7@x;<j" A\0^v/[w ~<.tA+̀MrtL(6~9Ǿ#*h (XKQd! #Ju*:VKwR(/GȈh3[ ^o'lkQ߂i)c8)L UW7K*@N.IyЄ_$9&f%F{2Q} *yӮua@ݮ"P^fk/+VזGQMJ@=\=ZÂ3pfB -Q8ݰzmUAэEq:#&S|xݎsomG::13S NBoh~E^[/XwuTšX)(o"γzkOXcH[noѶ֐_IޥOḬ:[',s\I*F@rBpvE`/J $ Ó <'Su0)^>ccB ăsk=yGWڢ`C_ꔺzԲ)Ӄ<F|DhNvR RU'x!DAUbbܲKZG e|'Cb^?d OaoO.hM`ȼ<Gj#ZtiA- xGSl+}sV{: 71B֍l#|}w3u'If&LZ2 A~̴ꔣ}YX4bqE!P."tf"Yaq!kfܚh}T#+a, .(a|Lz(F_HϳVGuʶA`'يkX5Hʜ*~'Nv2$ЇcQqzN3I'0:s`ģ$|mW`p#-n-2NຜNOŋ_"n; SOP>bGƦ*BRE/u4K IO YZ