{ "info": { "author": "Agendaless Consulting", "author_email": "repoze-dev@lists.repoze.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware" ], "description": "``repoze.debug`` README\n=======================\n\n.. image:: https://pypip.in/version/repoze.debug/badge.svg?style=flat\n :target: https://pypi.python.org/pypi/repoze.debug/\n :alt: Latest Version\n\n.. image:: https://travis-ci.org/repoze/repoze.debug.png?branch=master\n :target: https://travis-ci.org/repoze/repoze.debug\n\n.. image:: https://readthedocs.org/projects/repozedebug/badge/?version=latest\n :target: http://repozedebug.readthedocs.org/en/latest/ \n :alt: Documentation Status\n\nMiddleware for in-production forensic debugging.\n\nInstallation\n------------\n\nInstall using setuptools, e.g. (within a virtualenv)::\n\n $ easy_install repoze.debug\n\n\nUsage\n-----\n\nFor details on using the various components, please see the\ndocumentation in ``docs/index.rst``. A rendered version of that documentation\nis also available online:\n\n - http://docs.repoze.org/debug\n\n\nReporting Bugs \n--------------\n\nPlease report bugs in this package to\n\n https://github.com/repoze/repoze.debug/issues\n\n\nObtaining Source Code\n---------------------\n\nDownload development or tagged versions of the software by visiting:\n\n https://github.com/repoze/repoze.debug\n\n\n\nChangelog\n=========\n\n1.1 (2016-06-03)\n----------------\n\n- PR #8: Tolerate empty value for ``Content-Length`` header.\n\n- PR #7: Suppress ``UnicodeDecodeError`` when query strings contain non\n ASCII characters..\n\n- PR #5: Avoid breaking when ``wsgi.input`` has no ``seek()`` method.\n\n- Add support for testing under Travis.\n\n- Drop support for Python 2.6, 3.2.\n\n- Add support for Python 3.4, 3,5, and PyPy3.\n\n1.0.2 (2013-07-02)\n------------------\n\n- Fix reponse logger handling of WSGI app_iter-as-bytes under Py3k.\n\n1.0.1 (2013-05-17)\n------------------\n\n- Work around URLs which contain invalid (unquoted) characters.\n\n- Restored 100% unit test coverage.\n\n1.0 (2013-04-09)\n----------------\n\n- Added support for recording, logging and displaying the request body\n (thanks to Andreas Motl for the patch).\n\n1.0b1 (2013-01-30)\n------------------\n\n- Add support for bulding docs and testing doctest snippets under ``tox``.\n\n- Add ``setup.py docs`` alias (installs Sphinx).\n\n- Add support for Python 3.2 / 3.3.\n\n- Drop support for Python 2.4 / 2.5.\n\n- Some typo fixes and enhancements to xsl stylesheet\n\n0.7.3 (2012-03-29)\n------------------\n\n- This release is the last which will maintain support for Python 2.4 /\n Python 2.5.\n\n- Added support for continuous integration using ``tox`` and ``jenkins``.\n\n- Added 'setup.py dev' alias (runs ``setup.py develop`` plus installs\n ``nose`` and ``coverage``).\n\n0.7.2 (2011-04-18)\n------------------\n\n- Don't require 'threadframe' module in Python >= 2.5 (thanks, Jonathan\n Ballet). Closes http://bugs.repoze.org/issue162.\n\n- Don't crash if unicode values are present in threads' state (thanks,\n Jonathan Ballet). Closes http://bugs.repoze.org/issue162.\n\n0.7.1 (2010-03-11)\n------------------\n\n- Sphinxified docs.\n\n- Don't compute tracelog records unless we are going to write them.\n\n\n0.7 (2009/09/06)\n----------------\n\n- The iterator returned by an application was closed too soon when\n using the responselogger middleware, resulting in, e.g. errors from\n paste.fileapp complaining about \"file already closed\".\n\n- If the ``keep`` parameter in the \"responselogger\" middleware is set\n to zero, no entries are logged (not even one, as previously may have\n happened).\n\n- Better test coverage.\n\n- Ignore HTTP errors in post-mortem debug middleware. The exceptions\n we want to catch here are application-level. A configuration option\n has been added to keep the old behavior.\n\n- Added middleware \"threads\" to debug threads (based on an adaptation\n of Florent Guillaume's \"DeadlockDebugger\" product for Zope 2).\n\n0.6.2 (2008/07/03)\n------------------\n\n- Show a \"short\" URL in the debug UI.\n\n0.6.1 (2008/07/03)\n------------------\n\n- Fix debug UI bug: show escaped body regardless of content-type.\n\n0.6 (2008/07/02)\n----------------\n\n- Fix logging bug. Symptom: AttributeError: 'NoneType' object has no\n attribute 'info'\n\n0.5 (2008/06/30)\n----------------\n\n- Make debug request id reflect approximate UNIX time rather than a\n random debug id.\n\n- Deal with responses via a generator; don't unwind response bodies\n into memory.\n\n- Default max_bodysize is now 3K rather than the entire response\n body.\n\n- User interface; keep entries around to show in GUI. See\n /__repoze.debug/static/debugui.html.\n\n- We now write two logs: a verbose log, and a trace log. The verbose\n log contains information about headers, request information,\n response bodies, etc. The trace log is more compact and is written\n in essence to be parsed by a tool.\n\n- The 'filename' option in Paste config is now 'verbose_log'.\n\n- Port Zope's 'requestprofiler' script to WSGI. Invoke via\n 'wsgirequestprofiler' to see help; operates against 'trace' log.\n\n0.4 (2008/06/25)\n----------------\n\n- Add pdbpm middleware for dropping into the post-mortem debugger upon\n an exception (copied from repoze.errorlog).\n\n0.3 (2008/06/25)\n----------------\n\n- Add 'canary' middleware for detecting environment dictionary leaks.\n Add to your Paste config via 'egg:repoze.debug#canary'; it takes no\n arguments. If refcounts to repoze.debug.canary.Canary grow without\n bound, you know you are leaking WSGI environment dictionaries.\n\n- Add source url to response logging.\n\n0.2 (2008/06/14)\n----------------\n\n- Add warning if content-length != body length.\n\n0.1 (2008/06/13)\n----------------\n\n- Initial release.", "description_content_type": null, "docs_url": "https://pythonhosted.org/repoze.debug/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.repoze.org", "keywords": "wsgi request response debug middleware", "license": "BSD-derived (http://www.repoze.org/LICENSE.txt)", "maintainer": null, "maintainer_email": null, "name": "repoze.debug", "package_url": "https://pypi.org/project/repoze.debug/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/repoze.debug/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://www.repoze.org" }, "release_url": "https://pypi.org/project/repoze.debug/1.1/", "requires_dist": null, "requires_python": null, "summary": "Forensic debugging WSGI middleware", "version": "1.1" }, "last_serial": 2149415, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "48baf6d6e74af623cea097a64f78ffcd", "sha256": "94ee474414a102be78c3092c8b042f3176b73c31dff41cc680e2ac59f89e97e2" }, "downloads": -1, "filename": "repoze.debug-0.1.tar.gz", "has_sig": false, "md5_digest": "48baf6d6e74af623cea097a64f78ffcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10305, "upload_time": "2008-06-13T23:26:47", "url": "https://files.pythonhosted.org/packages/53/0b/4d717686495d0acbbd95730752948da8b13b15fd09c945da406bb4e1eca5/repoze.debug-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "e1912675bb9083ecf250b60269c0617c", "sha256": "0584cc76beed08794e8d5a37f16ddf8bc2e03a4693657e6f69119e5fa7638815" }, "downloads": -1, "filename": "repoze.debug-0.2.tar.gz", "has_sig": false, "md5_digest": "e1912675bb9083ecf250b60269c0617c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10513, "upload_time": "2008-06-14T11:54:41", "url": "https://files.pythonhosted.org/packages/16/f8/dfa7e0a843591955250f45d2d6f2a02c5d68a53631647eae1b4f34bf3cff/repoze.debug-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "2b7147e2eb810e71b7b49d368c09731c", "sha256": "b9d575558f1f6763146c89a28bbe83dbc1f9cf24f87b4a20d9ed7b242d5ae016" }, "downloads": -1, "filename": "repoze.debug-0.3.tar.gz", "has_sig": false, "md5_digest": "2b7147e2eb810e71b7b49d368c09731c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12211, "upload_time": "2008-06-26T15:47:25", "url": "https://files.pythonhosted.org/packages/3f/a1/bbf30baa4aa4ad8d11f92c423b1c00913bfa4b0bcab69513bc103b1353f2/repoze.debug-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "4902918036feb9e5d99454be5db29cc6", "sha256": "93dde030bcc39a059234b7737f9a28e4547e4f4dc6a9c26f5fd5018b6c3b4aef" }, "downloads": -1, "filename": "repoze.debug-0.4.tar.gz", "has_sig": false, "md5_digest": "4902918036feb9e5d99454be5db29cc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14340, "upload_time": "2008-06-26T22:12:19", "url": "https://files.pythonhosted.org/packages/06/dd/558730b50f080b875d44382f6d0e6f0b9146fce974e3ec9e418594719167/repoze.debug-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "ea2e09136dc269502fee3ff60a5f7bcc", "sha256": "7a6fdcffe8a1a4d1a93d8d4b9caadc1314413543c6183c40dfb4adba65b9357a" }, "downloads": -1, "filename": "repoze.debug-0.5.tar.gz", "has_sig": false, "md5_digest": "ea2e09136dc269502fee3ff60a5f7bcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55232, "upload_time": "2008-06-30T22:55:46", "url": "https://files.pythonhosted.org/packages/fb/f1/a1ea8e20e344763b93cb72a256d35a47ea329d475e3334c6959c6e09defc/repoze.debug-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "f617917b4ae441c4a6efdd872bb2fe90", "sha256": "9623a6592467be5fa1136481af8fabdaf6ffac6702bdb92030b2cc2125ec43db" }, "downloads": -1, "filename": "repoze.debug-0.6.tar.gz", "has_sig": false, "md5_digest": "f617917b4ae441c4a6efdd872bb2fe90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55480, "upload_time": "2008-07-02T22:42:58", "url": "https://files.pythonhosted.org/packages/ad/09/f9d4b2a5f35f0d34ea775029b4ac0f374549a5b5437071b98e6b11406775/repoze.debug-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "4c566b53220c50ec9d44089eaaf46a11", "sha256": "74ba3169c7799bde5bda138eeadbcd4711d663d3579ba962c4045bfc728bf982" }, "downloads": -1, "filename": "repoze.debug-0.7.tar.gz", "has_sig": false, "md5_digest": "4c566b53220c50ec9d44089eaaf46a11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58568, "upload_time": "2009-09-07T01:46:27", "url": "https://files.pythonhosted.org/packages/99/26/0be0997400897d9d1e970f649b9b324c33fb70399264c8e2ba81d7db3321/repoze.debug-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "3a1ffeee49fd95af6760bb4c44700829", "sha256": "b2120972083ffef06dae8c3686120642f81f5528c96af42c58a6149c5641f648" }, "downloads": -1, "filename": "repoze.debug-0.7.1.tar.gz", "has_sig": false, "md5_digest": "3a1ffeee49fd95af6760bb4c44700829", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 221395, "upload_time": "2010-03-12T22:26:43", "url": "https://files.pythonhosted.org/packages/6a/3f/dcfd4dafd2314c3dfe434bdd156381b2da4c5be54651e7c3e80e4817ae5d/repoze.debug-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "c2b806222ab74914299dc749b23ff08b", "sha256": "ea83b1b4c74c2bac513bc2b932967d97f400029ae8c6bda230165bdaec6aaf11" }, "downloads": -1, "filename": "repoze.debug-0.7.2.tar.gz", "has_sig": false, "md5_digest": "c2b806222ab74914299dc749b23ff08b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 216088, "upload_time": "2011-04-18T20:55:15", "url": "https://files.pythonhosted.org/packages/e8/54/e888919ea4d812cc13a54e751974f541260fa1919c2325b49a30fac3fbf8/repoze.debug-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "e7c404abbce666385670e9f3e2146384", "sha256": "b5597d63eb104b1a6b88e98cc954829b4a638acd85fedcae64e292c675e05dee" }, "downloads": -1, "filename": "repoze.debug-0.7.3.tar.gz", "has_sig": false, "md5_digest": "e7c404abbce666385670e9f3e2146384", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217715, "upload_time": "2012-03-30T05:23:33", "url": "https://files.pythonhosted.org/packages/df/26/03f808ecd86b2086f62e437f3a9ee14e8cf686faa9529d0dc408c6734f5d/repoze.debug-0.7.3.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "e9357e69c738c88cdf6e06883bbb40fe", "sha256": "8764c4570061503c43f9d18560eab5052cef7a99df8d4fa61c173d59de5ea023" }, "downloads": -1, "filename": "repoze.debug-1.0.tar.gz", "has_sig": false, "md5_digest": "e9357e69c738c88cdf6e06883bbb40fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 219191, "upload_time": "2013-04-09T15:18:45", "url": "https://files.pythonhosted.org/packages/b8/cf/98265fab54fd9c31230b010a8c7e5c393dcaf186b328a8f527945fa20278/repoze.debug-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "2a318891127c503673dcea3164c10d19", "sha256": "2593fa00948d9ea8e65d2ccd49d4a230b8d4478f00d30b6551b1adedd43fa519" }, "downloads": -1, "filename": "repoze.debug-1.0.1.tar.gz", "has_sig": false, "md5_digest": "2a318891127c503673dcea3164c10d19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 220400, "upload_time": "2013-05-17T21:58:37", "url": "https://files.pythonhosted.org/packages/60/ae/7f48d60ab0327b772922469f9bd3f45ea1c98410a7212b61a7a30b748b18/repoze.debug-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "6c989be54c7e94fc544ce84b14a2f13a", "sha256": "67a211638f7719977fda6d1442ef2f1aa14599e4da098db4fdfe23bdc98dde11" }, "downloads": -1, "filename": "repoze.debug-1.0.2.tar.gz", "has_sig": false, "md5_digest": "6c989be54c7e94fc544ce84b14a2f13a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 220032, "upload_time": "2013-07-02T19:49:49", "url": "https://files.pythonhosted.org/packages/97/5b/f90354909c183a09202b523fa757e53db55eedab50e882dac325e4355248/repoze.debug-1.0.2.tar.gz" } ], "1.0b1": [ { "comment_text": "", "digests": { "md5": "7046029d33ac0ff95ceb9b20790fcde3", "sha256": "a64e9e713d0d42b23549bde0f014e84eb3a789fbc13d45d363378cd0d9a8585f" }, "downloads": -1, "filename": "repoze.debug-1.0b1.tar.gz", "has_sig": false, "md5_digest": "7046029d33ac0ff95ceb9b20790fcde3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 218794, "upload_time": "2013-01-30T14:38:55", "url": "https://files.pythonhosted.org/packages/1f/8f/a04e065c68283e1a4569bab871fe2459170b9aed7df7c49ec0f4003d4464/repoze.debug-1.0b1.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "bdfd345cef727e135f0fd555898413d5", "sha256": "1d90e5b088b167bcde13bdedfe2e34f15fe8a1f53103e406e49b7c11be4d994d" }, "downloads": -1, "filename": "repoze.debug-1.1-py2-none-any.whl", "has_sig": true, "md5_digest": "bdfd345cef727e135f0fd555898413d5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 62892, "upload_time": "2016-06-03T17:04:14", "url": "https://files.pythonhosted.org/packages/e8/8e/a073b23b81d0f6a663ef73f14beda779c502d6dc342162019a967f950dfd/repoze.debug-1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77ce968c9b0aa5c7a1d0559422e5f943", "sha256": "f897fbb3a09499b0cee3fe2c5e4579ff04e5b0b87b1aad6098d242cbbf573000" }, "downloads": -1, "filename": "repoze.debug-1.1.tar.gz", "has_sig": true, "md5_digest": "77ce968c9b0aa5c7a1d0559422e5f943", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 224673, "upload_time": "2016-06-03T17:03:11", "url": "https://files.pythonhosted.org/packages/94/41/12c9883799f8045b9f8b77363e0defc547324dbf1a04537f09fd722fd91d/repoze.debug-1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bdfd345cef727e135f0fd555898413d5", "sha256": "1d90e5b088b167bcde13bdedfe2e34f15fe8a1f53103e406e49b7c11be4d994d" }, "downloads": -1, "filename": "repoze.debug-1.1-py2-none-any.whl", "has_sig": true, "md5_digest": "bdfd345cef727e135f0fd555898413d5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 62892, "upload_time": "2016-06-03T17:04:14", "url": "https://files.pythonhosted.org/packages/e8/8e/a073b23b81d0f6a663ef73f14beda779c502d6dc342162019a967f950dfd/repoze.debug-1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77ce968c9b0aa5c7a1d0559422e5f943", "sha256": "f897fbb3a09499b0cee3fe2c5e4579ff04e5b0b87b1aad6098d242cbbf573000" }, "downloads": -1, "filename": "repoze.debug-1.1.tar.gz", "has_sig": true, "md5_digest": "77ce968c9b0aa5c7a1d0559422e5f943", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 224673, "upload_time": "2016-06-03T17:03:11", "url": "https://files.pythonhosted.org/packages/94/41/12c9883799f8045b9f8b77363e0defc547324dbf1a04537f09fd722fd91d/repoze.debug-1.1.tar.gz" } ] }