D: [iurt_root_command] chroot Installing /home/pterjan/rpmbuild/SRPMS/python-cheroot-8.6.0-2.mga9.src.rpm Building target platforms: noarch Building for target noarch Executing(%prep): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.oNvfWK + umask 022 + cd /home/pterjan/rpmbuild/BUILD + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + cd /home/pterjan/rpmbuild/BUILD + rm -rf cheroot-8.6.0 + /usr/bin/gzip -dc /home/pterjan/rpmbuild/SOURCES/cheroot-8.6.0.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd cheroot-8.6.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + rm -rf cheroot.egg-info + sed -i /backports.functools_lru_cache/d setup.cfg + sed -i 's/ --testmon//' pytest.ini + sed -i 's/ -n auto//' pytest.ini + sed -i /pytest-testmon/d setup.cfg + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.iCWImF + umask 022 + cd /home/pterjan/rpmbuild/BUILD + cd cheroot-8.6.0 + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + CFLAGS='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables' + LDFLAGS=' -Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags' + /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s' running build running build_py creating build creating build/lib creating build/lib/cheroot copying cheroot/makefile.py -> build/lib/cheroot copying cheroot/cli.py -> build/lib/cheroot copying cheroot/_compat.py -> build/lib/cheroot copying cheroot/wsgi.py -> build/lib/cheroot copying cheroot/server.py -> build/lib/cheroot copying cheroot/__main__.py -> build/lib/cheroot copying cheroot/__init__.py -> build/lib/cheroot copying cheroot/errors.py -> build/lib/cheroot copying cheroot/testing.py -> build/lib/cheroot copying cheroot/connections.py -> build/lib/cheroot creating build/lib/cheroot/test copying cheroot/test/helper.py -> build/lib/cheroot/test copying cheroot/test/test_errors.py -> build/lib/cheroot/test copying cheroot/test/test_cli.py -> build/lib/cheroot/test copying cheroot/test/test_wsgi.py -> build/lib/cheroot/test copying cheroot/test/test_makefile.py -> build/lib/cheroot/test copying cheroot/test/test_ssl.py -> build/lib/cheroot/test copying cheroot/test/conftest.py -> build/lib/cheroot/test copying cheroot/test/test_server.py -> build/lib/cheroot/test copying cheroot/test/_pytest_plugin.py -> build/lib/cheroot/test copying cheroot/test/test_conn.py -> build/lib/cheroot/test copying cheroot/test/__init__.py -> build/lib/cheroot/test copying cheroot/test/test_core.py -> build/lib/cheroot/test copying cheroot/test/test_dispatch.py -> build/lib/cheroot/test copying cheroot/test/webtest.py -> build/lib/cheroot/test copying cheroot/test/test__compat.py -> build/lib/cheroot/test creating build/lib/cheroot/workers copying cheroot/workers/threadpool.py -> build/lib/cheroot/workers copying cheroot/workers/__init__.py -> build/lib/cheroot/workers creating build/lib/cheroot/ssl copying cheroot/ssl/pyopenssl.py -> build/lib/cheroot/ssl copying cheroot/ssl/__init__.py -> build/lib/cheroot/ssl copying cheroot/ssl/builtin.py -> build/lib/cheroot/ssl running egg_info creating cheroot.egg-info writing cheroot.egg-info/PKG-INFO writing dependency_links to cheroot.egg-info/dependency_links.txt writing entry points to cheroot.egg-info/entry_points.txt writing requirements to cheroot.egg-info/requires.txt writing top-level names to cheroot.egg-info/top_level.txt writing manifest file 'cheroot.egg-info/SOURCES.txt' listing git files failed - pretending there aren't any reading manifest file 'cheroot.egg-info/SOURCES.txt' adding license file 'LICENSE.md' writing manifest file 'cheroot.egg-info/SOURCES.txt' copying cheroot/py.typed -> build/lib/cheroot + PYTHONPATH=/home/pterjan/rpmbuild/BUILD/cheroot-8.6.0 + sphinx-build -vvv docs html Running Sphinx v4.4.0 [app] setting up extension: 'sphinx.addnodes' [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] adding node: (, {}) [app] adding translation_handlers: , {} [app] setting up extension: 'sphinx.builders.changes' [app] adding builder: [app] setting up extension: 'sphinx.builders.epub3' [app] adding builder: [app] adding config value: ('epub_basename', . at 0x7f2cf80e7b50>, None, ()) [app] adding config value: ('epub_version', 3.0, 'epub', ()) [app] adding config value: ('epub_theme', 'epub', 'epub', ()) [app] adding config value: ('epub_theme_options', {}, 'epub', ()) [app] adding config value: ('epub_title', . at 0x7f2cf80e7ac0>, 'epub', ()) [app] adding config value: ('epub_author', . at 0x7f2cf80e7d00>, 'epub', ()) [app] adding config value: ('epub_language', . at 0x7f2cf7f2aef0>, 'epub', ()) [app] adding config value: ('epub_publisher', . at 0x7f2cf7f2af80>, 'epub', ()) [app] adding config value: ('epub_copyright', . at 0x7f2cf7f2b010>, 'epub', ()) [app] adding config value: ('epub_identifier', 'unknown', 'epub', ()) [app] adding config value: ('epub_scheme', 'unknown', 'epub', ()) [app] adding config value: ('epub_uid', 'unknown', 'env', ()) [app] adding config value: ('epub_cover', (), 'env', ()) [app] adding config value: ('epub_guide', (), 'env', ()) [app] adding config value: ('epub_pre_files', [], 'env', ()) [app] adding config value: ('epub_post_files', [], 'env', ()) [app] adding config value: ('epub_css_files', . at 0x7f2cf7f2b0a0>, 'epub', ()) [app] adding config value: ('epub_exclude_files', [], 'env', ()) [app] adding config value: ('epub_tocdepth', 3, 'env', ()) [app] adding config value: ('epub_tocdup', True, 'env', ()) [app] adding config value: ('epub_tocscope', 'default', 'env', ()) [app] adding config value: ('epub_fix_images', False, 'env', ()) [app] adding config value: ('epub_max_image_width', 0, 'env', ()) [app] adding config value: ('epub_show_urls', 'inline', 'epub', ()) [app] adding config value: ('epub_use_index', . at 0x7f2cf7f2b130>, 'epub', ()) [app] adding config value: ('epub_description', 'unknown', 'epub', ()) [app] adding config value: ('epub_contributor', 'unknown', 'epub', ()) [app] adding config value: ('epub_writing_mode', 'horizontal', 'epub', ) [app] connecting event 'config-inited' (800): [id=0] [app] connecting event 'builder-inited' (500): [id=1] [app] setting up extension: 'sphinx.builders.dirhtml' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('html_theme', 'alabaster', 'html', ()) [app] adding config value: ('html_theme_path', [], 'html', ()) [app] adding config value: ('html_theme_options', {}, 'html', ()) [app] adding config value: ('html_title', . at 0x7f2cf7f2b1c0>, 'html', []) [app] adding config value: ('html_short_title', . at 0x7f2cf7f2b250>, 'html', ()) [app] adding config value: ('html_style', None, 'html', []) [app] adding config value: ('html_logo', None, 'html', []) [app] adding config value: ('html_favicon', None, 'html', []) [app] adding config value: ('html_css_files', [], 'html', ()) [app] adding config value: ('html_js_files', [], 'html', ()) [app] adding config value: ('html_static_path', [], 'html', ()) [app] adding config value: ('html_extra_path', [], 'html', ()) [app] adding config value: ('html_last_updated_fmt', None, 'html', []) [app] adding config value: ('html_sidebars', {}, 'html', ()) [app] adding config value: ('html_additional_pages', {}, 'html', ()) [app] adding config value: ('html_domain_indices', True, 'html', []) [app] adding config value: ('html_add_permalinks', , 'html', ()) [app] adding config value: ('html_permalinks', True, 'html', ()) [app] adding config value: ('html_permalinks_icon', '¶', 'html', ()) [app] adding config value: ('html_use_index', True, 'html', ()) [app] adding config value: ('html_split_index', False, 'html', ()) [app] adding config value: ('html_copy_source', True, 'html', ()) [app] adding config value: ('html_show_sourcelink', True, 'html', ()) [app] adding config value: ('html_sourcelink_suffix', '.txt', 'html', ()) [app] adding config value: ('html_use_opensearch', '', 'html', ()) [app] adding config value: ('html_file_suffix', None, 'html', []) [app] adding config value: ('html_link_suffix', None, 'html', []) [app] adding config value: ('html_show_copyright', True, 'html', ()) [app] adding config value: ('html_show_sphinx', True, 'html', ()) [app] adding config value: ('html_context', {}, 'html', ()) [app] adding config value: ('html_output_encoding', 'utf-8', 'html', ()) [app] adding config value: ('html_compact_lists', True, 'html', ()) [app] adding config value: ('html_secnumber_suffix', '. ', 'html', ()) [app] adding config value: ('html_search_language', None, 'html', []) [app] adding config value: ('html_search_options', {}, 'html', ()) [app] adding config value: ('html_search_scorer', '', None, ()) [app] adding config value: ('html_scaled_image_link', True, 'html', ()) [app] adding config value: ('html_baseurl', '', 'html', ()) [app] adding config value: ('html_codeblock_linenos_style', 'inline', 'html', ) [app] adding config value: ('html_math_renderer', None, 'env', ()) [app] adding config value: ('html4_writer', False, 'html', ()) [app] adding event: 'html-collect-pages' [app] adding event: 'html-page-context' [app] connecting event 'config-inited' (800): [id=2] [app] connecting event 'config-inited' (800): [id=3] [app] connecting event 'config-inited' (800): [id=4] [app] connecting event 'config-inited' (800): [id=5] [app] connecting event 'config-inited' (800): [id=6] [app] connecting event 'config-inited' (800): [id=7] [app] connecting event 'config-inited' (800): [id=8] [app] connecting event 'builder-inited' (500): [id=9] [app] connecting event 'html-page-context' (500): [id=10] [app] connecting event 'html-page-context' (500): [id=11] [app] connecting event 'html-page-context' (500): [id=12] [app] setting up extension: 'sphinx.ext.mathjax' [app] adding html_math_renderer: mathjax, (, None), (, None) [app] adding config value: ('mathjax_path', 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js', 'html', ()) [app] adding config value: ('mathjax_options', {}, 'html', ()) [app] adding config value: ('mathjax_inline', ['\\(', '\\)'], 'html', ()) [app] adding config value: ('mathjax_display', ['\\[', '\\]'], 'html', ()) [app] adding config value: ('mathjax_config', None, 'html', ()) [app] adding config value: ('mathjax2_config', . at 0x7f2cf7f2b400>, 'html', ()) [app] adding config value: ('mathjax3_config', None, 'html', ()) [app] connecting event 'html-page-context' (500): [id=13] [app] setting up extension: 'sphinx.builders.html.transforms' [app] adding post transform: [app] adding builder: [app] setting up extension: 'sphinx.builders.dummy' [app] adding builder: [app] setting up extension: 'sphinx.builders.gettext' [app] adding builder: [app] adding config value: ('gettext_compact', True, 'gettext', {, }) [app] adding config value: ('gettext_location', True, 'gettext', ()) [app] adding config value: ('gettext_uuid', False, 'gettext', ()) [app] adding config value: ('gettext_auto_build', True, 'env', ()) [app] adding config value: ('gettext_additional_targets', [], 'env', ()) [app] adding config value: ('gettext_last_translator', 'FULL NAME ', 'gettext', ()) [app] adding config value: ('gettext_language_team', 'LANGUAGE ', 'gettext', ()) [app] setting up extension: 'sphinx.builders.html' [app] setting up extension: 'sphinx.builders.latex' [app] setting up extension: 'sphinx.builders.latex.transforms' [app] adding transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding builder: [app] connecting event 'config-inited' (800): [id=14] [app] connecting event 'config-inited' (800): [id=15] [app] connecting event 'builder-inited' (500): [id=16] [app] adding config value: ('latex_engine', , None, ) [app] adding config value: ('latex_documents', , None, ()) [app] adding config value: ('latex_logo', None, None, []) [app] adding config value: ('latex_appendices', [], None, ()) [app] adding config value: ('latex_use_latex_multicolumn', False, None, ()) [app] adding config value: ('latex_use_xindy', , None, []) [app] adding config value: ('latex_toplevel_sectioning', None, None, ) [app] adding config value: ('latex_domain_indices', True, None, []) [app] adding config value: ('latex_show_urls', 'no', None, ()) [app] adding config value: ('latex_show_pagerefs', False, None, ()) [app] adding config value: ('latex_elements', {}, None, ()) [app] adding config value: ('latex_additional_files', [], None, ()) [app] adding config value: ('latex_theme', 'manual', None, []) [app] adding config value: ('latex_theme_options', {}, None, ()) [app] adding config value: ('latex_theme_path', [], None, []) [app] adding config value: ('latex_docclass', , None, ()) [app] setting up extension: 'sphinx.builders.linkcheck' [app] adding builder: [app] adding post transform: [app] adding config value: ('linkcheck_ignore', [], None, ()) [app] adding config value: ('linkcheck_exclude_documents', [], None, ()) [app] adding config value: ('linkcheck_allowed_redirects', {}, None, ()) [app] adding config value: ('linkcheck_auth', [], None, ()) [app] adding config value: ('linkcheck_request_headers', {}, None, ()) [app] adding config value: ('linkcheck_retries', 1, None, ()) [app] adding config value: ('linkcheck_timeout', None, None, []) [app] adding config value: ('linkcheck_workers', 5, None, ()) [app] adding config value: ('linkcheck_anchors', True, None, ()) [app] adding config value: ('linkcheck_anchors_ignore', ['^!'], None, ()) [app] adding config value: ('linkcheck_rate_limit_timeout', 300.0, None, ()) [app] adding event: 'linkcheck-process-uri' [app] connecting event 'config-inited' (800): [id=17] [app] setting up extension: 'sphinx.builders.manpage' [app] adding builder: [app] adding config value: ('man_pages', , None, ()) [app] adding config value: ('man_show_urls', False, None, ()) [app] adding config value: ('man_make_section_directory', False, None, ()) [app] setting up extension: 'sphinx.builders.singlehtml' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('singlehtml_sidebars', . at 0x7f2cf7c03250>, 'html', ()) [app] setting up extension: 'sphinx.builders.texinfo' [app] adding builder: [app] adding config value: ('texinfo_documents', , None, ()) [app] adding config value: ('texinfo_appendices', [], None, ()) [app] adding config value: ('texinfo_elements', {}, None, ()) [app] adding config value: ('texinfo_domain_indices', True, None, []) [app] adding config value: ('texinfo_show_urls', 'footnote', None, ()) [app] adding config value: ('texinfo_no_detailmenu', False, None, ()) [app] adding config value: ('texinfo_cross_references', True, None, ()) [app] setting up extension: 'sphinx.builders.text' [app] adding builder: [app] adding config value: ('text_sectionchars', '*=-~"+`', 'env', ()) [app] adding config value: ('text_newlines', 'unix', 'env', ()) [app] adding config value: ('text_add_secnumbers', True, 'env', ()) [app] adding config value: ('text_secnumber_suffix', '. ', 'env', ()) [app] setting up extension: 'sphinx.builders.xml' [app] adding builder: [app] adding builder: [app] adding config value: ('xml_pretty', True, 'env', ()) [app] setting up extension: 'sphinx.config' [app] connecting event 'config-inited' (800): [id=18] [app] connecting event 'config-inited' (800): [id=19] [app] connecting event 'config-inited' (800): [id=20] [app] connecting event 'config-inited' (800): [id=21] [app] connecting event 'config-inited' (800): [id=22] [app] connecting event 'config-inited' (800): [id=23] [app] connecting event 'env-get-outdated' (500): [id=24] [app] setting up extension: 'sphinx.domains.c' [app] adding domain: [app] adding config value: ('c_id_attributes', [], 'env', ()) [app] adding config value: ('c_paren_attributes', [], 'env', ()) [app] adding config value: ('c_extra_keywords', ['alignas', 'alignof', 'bool', 'complex', 'imaginary', 'noreturn', 'static_assert', 'thread_local'], 'env', ()) [app] adding post transform: [app] adding config value: ('c_allow_pre_v3', False, 'env', ()) [app] adding config value: ('c_warn_on_allowed_pre_v3', True, 'env', ()) [app] setting up extension: 'sphinx.domains.changeset' [app] adding domain: [app] adding directive: ('deprecated', ) [app] adding directive: ('versionadded', ) [app] adding directive: ('versionchanged', ) [app] setting up extension: 'sphinx.domains.citation' [app] adding domain: [app] adding transform: [app] adding transform: [app] setting up extension: 'sphinx.domains.cpp' [app] adding domain: [app] adding config value: ('cpp_index_common_prefix', [], 'env', ()) [app] adding config value: ('cpp_id_attributes', [], 'env', ()) [app] adding config value: ('cpp_paren_attributes', [], 'env', ()) [app] adding post transform: [app] adding config value: ('cpp_debug_lookup', False, '', ()) [app] adding config value: ('cpp_debug_show_tree', False, '', ()) [app] connecting event 'builder-inited' (500): .initStuff at 0x7f2cf7c032e0> [id=25] [app] setting up extension: 'sphinx.domains.index' [app] adding domain: [app] adding directive: ('index', ) [app] adding role: ('index', ) [app] setting up extension: 'sphinx.domains.javascript' [app] adding domain: [app] setting up extension: 'sphinx.domains.math' [app] adding domain: [app] adding role: ('eq', ) [app] setting up extension: 'sphinx.domains.python' [app] setting up extension: 'sphinx.directives' [app] adding config value: ('strip_signature_backslash', False, 'env', ()) [app] adding event: 'object-description-transform' [app] adding domain: [app] adding config value: ('python_use_unqualified_type_names', False, 'env', ()) [app] connecting event 'object-description-transform' (500): [id=26] [app] connecting event 'missing-reference' (900): [id=27] [app] setting up extension: 'sphinx.domains.rst' [app] adding domain: [app] setting up extension: 'sphinx.domains.std' [app] adding domain: [app] connecting event 'warn-missing-reference' (500): [id=28] [app] setting up extension: 'sphinx.directives' [app] setting up extension: 'sphinx.directives.code' [app] setting up extension: 'sphinx.directives.other' [app] setting up extension: 'sphinx.directives.patches' [app] setting up extension: 'sphinx.extension' [app] connecting event 'config-inited' (800): [id=29] [app] setting up extension: 'sphinx.parsers' [app] adding search source_parser: [app] setting up extension: 'sphinx.registry' [app] connecting event 'config-inited' (800): [id=30] [app] setting up extension: 'sphinx.roles' [app] setting up extension: 'sphinx.transforms' [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] adding transform: [app] setting up extension: 'sphinx.transforms.compact_bullet_list' [app] adding transform: [app] setting up extension: 'sphinx.transforms.i18n' [app] adding transform: [app] adding transform: [app] adding transform: [app] setting up extension: 'sphinx.transforms.references' [app] adding transform: [app] adding transform: [app] setting up extension: 'sphinx.transforms.post_transforms' [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] adding post transform: [app] setting up extension: 'sphinx.transforms.post_transforms.code' [app] adding post transform: [app] adding post transform: [app] setting up extension: 'sphinx.transforms.post_transforms.images' [app] adding post transform: [app] adding post transform: [app] setting up extension: 'sphinx.util.compat' [app] connecting event 'builder-inited' (100): [id=31] [app] setting up extension: 'sphinx.versioning' [app] adding transform: [app] setting up extension: 'sphinx.environment.collectors.dependencies' [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=32] [app] connecting event 'env-merge-info' (500): > [id=33] [app] connecting event 'env-purge-doc' (500): > [id=34] [app] connecting event 'env-get-updated' (500): > [id=35] [app] connecting event 'env-get-outdated' (500): > [id=36] [app] setting up extension: 'sphinx.environment.collectors.asset' [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=37] [app] connecting event 'env-merge-info' (500): > [id=38] [app] connecting event 'env-purge-doc' (500): > [id=39] [app] connecting event 'env-get-updated' (500): > [id=40] [app] connecting event 'env-get-outdated' (500): > [id=41] [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=42] [app] connecting event 'env-merge-info' (500): > [id=43] [app] connecting event 'env-purge-doc' (500): > [id=44] [app] connecting event 'env-get-updated' (500): > [id=45] [app] connecting event 'env-get-outdated' (500): > [id=46] [app] setting up extension: 'sphinx.environment.collectors.metadata' [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=47] [app] connecting event 'env-merge-info' (500): > [id=48] [app] connecting event 'env-purge-doc' (500): > [id=49] [app] connecting event 'env-get-updated' (500): > [id=50] [app] connecting event 'env-get-outdated' (500): > [id=51] [app] setting up extension: 'sphinx.environment.collectors.title' [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=52] [app] connecting event 'env-merge-info' (500): > [id=53] [app] connecting event 'env-purge-doc' (500): > [id=54] [app] connecting event 'env-get-updated' (500): > [id=55] [app] connecting event 'env-get-outdated' (500): > [id=56] [app] setting up extension: 'sphinx.environment.collectors.toctree' [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=57] [app] connecting event 'env-merge-info' (500): > [id=58] [app] connecting event 'env-purge-doc' (500): > [id=59] [app] connecting event 'env-get-updated' (500): > [id=60] [app] connecting event 'env-get-outdated' (500): > [id=61] [app] setting up extension: 'sphinxcontrib.applehelp' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('applehelp_bundle_name', . at 0x7f2cf79deef0>, 'applehelp', ()) [app] adding config value: ('applehelp_bundle_id', None, 'applehelp', []) [app] adding config value: ('applehelp_dev_region', 'en-us', 'applehelp', ()) [app] adding config value: ('applehelp_bundle_version', '1', 'applehelp', ()) [app] adding config value: ('applehelp_icon', None, 'applehelp', []) [app] adding config value: ('applehelp_kb_product', . at 0x7f2cf78eee60>, 'applehelp', ()) [app] adding config value: ('applehelp_kb_url', None, 'applehelp', []) [app] adding config value: ('applehelp_remote_url', None, 'applehelp', []) [app] adding config value: ('applehelp_index_anchors', False, 'applehelp', []) [app] adding config value: ('applehelp_min_term_length', None, 'applehelp', []) [app] adding config value: ('applehelp_stopwords', . at 0x7f2cf78ef130>, 'applehelp', ()) [app] adding config value: ('applehelp_locale', . at 0x7f2cf78ef1c0>, 'applehelp', ()) [app] adding config value: ('applehelp_title', . at 0x7f2cf78eed40>, 'applehelp', ()) [app] adding config value: ('applehelp_codesign_identity', . at 0x7f2cf78ef250>, 'applehelp', ()) [app] adding config value: ('applehelp_codesign_flags', . at 0x7f2cf78ef2e0>, 'applehelp', ()) [app] adding config value: ('applehelp_indexer_path', '/usr/bin/hiutil', 'applehelp', ()) [app] adding config value: ('applehelp_codesign_path', '/usr/bin/codesign', 'applehelp', ()) [app] adding config value: ('applehelp_disable_external_tools', False, 'applehelp', ()) [app] setting up extension: 'sphinxcontrib.devhelp' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('devhelp_basename', . at 0x7f2cf78ef0a0>, 'devhelp', ()) [app] setting up extension: 'sphinxcontrib.htmlhelp' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('htmlhelp_basename', , '', ()) [app] adding config value: ('htmlhelp_file_suffix', None, 'html', []) [app] adding config value: ('htmlhelp_link_suffix', None, 'html', []) [app] setting up extension: 'sphinxcontrib.serializinghtml' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding builder: [app] setting up extension: 'sphinxcontrib.qthelp' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('qthelp_basename', . at 0x7f2cf78ef400>, 'html', ()) [app] adding config value: ('qthelp_namespace', None, 'html', []) [app] adding config value: ('qthelp_theme', 'nonav', 'html', ()) [app] adding config value: ('qthelp_theme_options', {}, 'html', ()) [app] setting up extension: 'alabaster' [app] adding HTML theme: 'alabaster', '/usr/lib/python3.10/site-packages/alabaster' [app] connecting event 'html-page-context' (500): [id=62] [app] setting up extension: 'sphinx.ext.autodoc' [app] adding autodocumenter: [app] adding directive: ('automodule', ) [app] adding autodocumenter: [app] adding directive: ('autoclass', ) [app] adding autodocumenter: [app] adding directive: ('autoexception', ) [app] adding autodocumenter: [app] adding directive: ('autodata', ) [app] adding autodocumenter: [app] adding directive: ('autonewtypedata', ) [app] adding autodocumenter: [app] adding directive: ('autofunction', ) [app] adding autodocumenter: [app] adding directive: ('autodecorator', ) [app] adding autodocumenter: [app] adding directive: ('automethod', ) [app] adding autodocumenter: [app] adding directive: ('autoattribute', ) [app] adding autodocumenter: [app] adding directive: ('autoproperty', ) [app] adding autodocumenter: [app] adding directive: ('autonewvarattribute', ) [app] adding config value: ('autoclass_content', 'class', True, ) [app] adding config value: ('autodoc_member_order', 'alphabetical', True, ) [app] adding config value: ('autodoc_class_signature', 'mixed', True, ) [app] adding config value: ('autodoc_default_options', {}, True, ()) [app] adding config value: ('autodoc_docstring_signature', True, True, ()) [app] adding config value: ('autodoc_mock_imports', [], True, ()) [app] adding config value: ('autodoc_typehints', 'signature', True, ) [app] adding config value: ('autodoc_typehints_description_target', 'all', True, ) [app] adding config value: ('autodoc_type_aliases', {}, True, ()) [app] adding config value: ('autodoc_typehints_format', 'fully-qualified', 'env', ) [app] adding config value: ('autodoc_warningiserror', True, True, ()) [app] adding config value: ('autodoc_inherit_docstrings', True, True, ()) [app] adding event: 'autodoc-before-process-signature' [app] adding event: 'autodoc-process-docstring' [app] adding event: 'autodoc-process-signature' [app] adding event: 'autodoc-skip-member' [app] adding event: 'autodoc-process-bases' [app] connecting event 'config-inited' (800): [id=63] [app] setting up extension: 'sphinx.ext.autodoc.preserve_defaults' [app] adding config value: ('autodoc_preserve_defaults', False, True, ()) [app] connecting event 'autodoc-before-process-signature' (500): [id=64] [app] setting up extension: 'sphinx.ext.autodoc.type_comment' [app] connecting event 'autodoc-before-process-signature' (500): [id=65] [app] setting up extension: 'sphinx.ext.autodoc.typehints' [app] connecting event 'autodoc-process-signature' (500): [id=66] [app] connecting event 'object-description-transform' (500): [id=67] [app] setting up extension: 'sphinx.ext.doctest' [app] adding directive: ('testsetup', ) [app] adding directive: ('testcleanup', ) [app] adding directive: ('doctest', ) [app] adding directive: ('testcode', ) [app] adding directive: ('testoutput', ) [app] adding builder: [app] adding config value: ('doctest_path', [], False, ()) [app] adding config value: ('doctest_test_doctest_blocks', 'default', False, ()) [app] adding config value: ('doctest_global_setup', '', False, ()) [app] adding config value: ('doctest_global_cleanup', '', False, ()) [app] adding config value: ('doctest_default_flags', 41, False, ()) [app] setting up extension: 'sphinx.ext.extlinks' [app] adding config value: ('extlinks', {}, 'env', ()) [app] connecting event 'builder-inited' (500): [id=68] [app] adding post transform: [app] setting up extension: 'sphinx.ext.intersphinx' [app] adding config value: ('intersphinx_mapping', {}, True, ()) [app] adding config value: ('intersphinx_cache_limit', 5, False, ()) [app] adding config value: ('intersphinx_timeout', None, False, ()) [app] adding config value: ('intersphinx_disabled_reftypes', [], True, ()) [app] connecting event 'config-inited' (800): [id=69] [app] connecting event 'builder-inited' (500): [id=70] [app] connecting event 'source-read' (500): [id=71] [app] connecting event 'missing-reference' (500): [id=72] [app] adding post transform: [app] setting up extension: 'jaraco.packaging.sphinx' [app] adding config value: ('package_url', '', '', ()) [app] connecting event 'builder-inited' (500): [id=73] [app] connecting event 'builder-inited' (500): [id=74] [app] connecting event 'html-page-context' (500): [id=75] [app] setting up extension: 'sphinx_tabs.tabs' [app] adding config value: ('sphinx_tabs_valid_builders', [], '', ()) [app] adding config value: ('sphinx_tabs_disable_css_loading', False, 'html', []) [app] adding config value: ('sphinx_tabs_disable_tab_closing', False, 'html', []) [app] adding node: (, {'html': (, )}) [app] adding translation_handlers: , {'html': (, )} [app] adding node: (, {'html': (, )}) [app] adding translation_handlers: , {'html': (, )} [app] adding node: (, {'html': (, )}) [app] adding translation_handlers: , {'html': (, )} [app] adding node: (, {'html': (, )}) [app] adding translation_handlers: , {'html': (, )} [app] adding directive: ('tabs', ) [app] adding directive: ('tab', ) [app] adding directive: ('group-tab', ) [app] adding directive: ('code-tab', ) [app] connecting event 'builder-inited' (500): . at 0x7f2cf75637f0> [id=76] [app] connecting event 'config-inited' (500): [id=77] [app] connecting event 'html-page-context' (500): [id=78] [app] setting up extension: 'sphinxcontrib.apidoc' [app] setting up extension: 'sphinx.ext.autodoc' [app] connecting event 'builder-inited' (500): [id=79] [app] adding config value: ('apidoc_module_dir', None, 'env', []) [app] adding config value: ('apidoc_output_dir', 'api', 'env', []) [app] adding config value: ('apidoc_excluded_paths', [], 'env', [[]]) [app] adding config value: ('apidoc_separate_modules', False, 'env', []) [app] adding config value: ('apidoc_toc_file', None, 'env', [, ]) [app] adding config value: ('apidoc_module_first', False, 'env', []) [app] adding config value: ('apidoc_extra_args', [], 'env', []) [app] setting up extension: 'sphinxcontrib.spelling' Initializing Spelling Checker 7.3.2 [app] adding builder: [app] adding directive: ('spelling', ) [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=80] [app] connecting event 'env-merge-info' (500): > [id=81] [app] connecting event 'env-purge-doc' (500): > [id=82] [app] connecting event 'env-get-updated' (500): > [id=83] [app] connecting event 'env-get-outdated' (500): > [id=84] [app] adding config value: ('spelling_show_suggestions', False, 'env', ()) [app] adding config value: ('spelling_show_whole_line', True, 'env', ()) [app] adding config value: ('spelling_warning', False, 'env', ()) [app] adding config value: ('spelling_lang', 'en_US', 'env', ()) [app] adding config value: ('tokenizer_lang', 'en_US', 'env', ()) [app] adding config value: ('spelling_word_list_filename', None, 'env', ()) [app] adding config value: ('spelling_ignore_pypi_package_names', False, 'env', ()) [app] adding config value: ('spelling_ignore_wiki_words', True, 'env', ()) [app] adding config value: ('spelling_ignore_acronyms', True, 'env', ()) [app] adding config value: ('spelling_ignore_python_builtins', True, 'env', ()) [app] adding config value: ('spelling_ignore_importable_modules', True, 'env', ()) [app] adding config value: ('spelling_ignore_contributor_names', True, 'env', ()) [app] adding config value: ('spelling_filters', [], 'env', ()) [app] adding config value: ('spelling_exclude_patterns', [], 'env', ()) [app] adding config value: ('spelling_verbose', True, 'env', ()) [app] setting up extension: 'scm_tag_titles_ext' [app] adding config value: ('scm_version_title_settings', {'scm': 'git', 'date_format': '%d %b %Y'}, 'html', ()) [app] adding node: (, {'html': (, )}) [app] adding translation_handlers: , {'html': (, )} [app] adding directive: ('scm-version-title', ) making output directory... done [app] emitting event: 'config-inited'(,) [app] adding js_file: 'tabs.js', {'priority': 500} [app] adding stylesheet: 'tabs.css' [app] adding config value: ('pygments_dark_style', 'native', 'env', []) [app] adding HTML theme: 'furo', '/usr/lib/python3.10/site-packages/furo/theme/furo' [app] connecting event 'html-page-context' (500): [id=85] [app] connecting event 'builder-inited' (500): [id=86] [app] connecting event 'build-finished' (500): [id=87] [app] emitting event: 'builder-inited'() [app] adding role: ('issue', .role at 0x7f2cf7778160>) [app] adding role: ('pr', .role at 0x7f2cf7474ee0>) [app] adding role: ('commit', .role at 0x7f2cf7563d00>) [app] adding role: ('cp-issue', .role at 0x7f2cf7475090>) [app] adding role: ('cp-pr', .role at 0x7f2cf74751b0>) [app] adding role: ('gh', .role at 0x7f2cf7635f30>) [app] adding role: ('user', .role at 0x7f2cf745f5b0>) loading intersphinx inventory from https://docs.python.org/3/objects.inv... loading intersphinx inventory from https://docs.python.org/2/objects.inv... loading intersphinx inventory from https://cherrypy.rtfd.io/en/latest... WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://docs.python.org/2/objects.inv' not fetchable due to : HTTPSConnectionPool(host='docs.python.org', port=443): Max retries exceeded with url: /2/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known')) loading intersphinx inventory from https://trustme.readthedocs.io/en/latest/objects.inv... WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://docs.python.org/3/objects.inv' not fetchable due to : HTTPSConnectionPool(host='docs.python.org', port=443): Max retries exceeded with url: /3/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known')) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://trustme.readthedocs.io/en/latest/objects.inv' not fetchable due to : HTTPSConnectionPool(host='trustme.readthedocs.io', port=443): Max retries exceeded with url: /en/latest/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known')) loading intersphinx inventory from https://ddt.readthedocs.io/en/latest/objects.inv... loading intersphinx inventory from https://docs.cherrypy.dev/en/latest/objects.inv... loading intersphinx inventory from https://www.pyopenssl.org/en/latest/objects.inv... WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://ddt.readthedocs.io/en/latest/objects.inv' not fetchable due to : HTTPSConnectionPool(host='ddt.readthedocs.io', port=443): Max retries exceeded with url: /en/latest/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known')) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://cherrypy.rtfd.io/en/latest' not fetchable due to : HTTPSConnectionPool(host='cherrypy.rtfd.io', port=443): Max retries exceeded with url: /en/latest (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known')) intersphinx inventory 'https://docs.cherrypy.dev/en/latest/objects.inv' not fetchable due to : HTTPSConnectionPool(host='docs.cherrypy.dev', port=443): Max retries exceeded with url: /en/latest/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known')) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://www.pyopenssl.org/en/latest/objects.inv' not fetchable due to : HTTPSConnectionPool(host='www.pyopenssl.org', port=443): Max retries exceeded with url: /en/latest/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known')) Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.__main__.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot._compat.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.cli.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.connections.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.errors.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.makefile.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.server.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.testing.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.wsgi.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.ssl.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.ssl.builtin.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.ssl.pyopenssl.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test._pytest_plugin.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.conftest.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.helper.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test__compat.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_cli.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_conn.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_core.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_dispatch.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_errors.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_makefile.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_server.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_ssl.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_wsgi.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.webtest.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.workers.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.workers.threadpool.rst. Creating file /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/modules.rst. [app] adding js_file: 'scripts/main.js', {'priority': 200} [app] adding stylesheet: 'styles/furo-extensions.css' building [mo]: targets for 0 po files that are out of date [build target] did not in env: 'contribute' [build target] did not in env: 'history' [build target] did not in env: 'devguide' [build target] did not in env: 'index' building [html]: targets for 4 source files that are out of date updating environment: [app] emitting event: 'env-get-outdated'(, {'pkg/cheroot._compat', 'pkg/cheroo [new config] 35 added, 0 changed, 0 removed [app] emitting event: 'env-before-read-docs'(, ['contribute', 'devguide', 'history reading sources... [ 2%] contribute [app] emitting event: 'env-purge-doc'(, 'contribute') [app] emitting event: 'source-read'('contribute', ['.. include:: ../.github/CONTRIBUTING.rst\n\n\nFirst-time setup\n~~~~~~~~~~~~~~~~\n\ [app] emitting event: 'doctree-read'(
,) .github/CONTRIBUTING.rst:28: (INFO/1) Enumerated list start value not ordinal-1: “2” (ordinal 2) [filtered system message] reading sources... [ 5%] devguide [app] emitting event: 'env-purge-doc'(, 'devguide') [app] emitting event: 'source-read'('devguide', ['Development guide\n=================\n\nThis document is unfinished but you may check [app] emitting event: 'doctree-read'(>,) reading sources... [ 8%] history [app] emitting event: 'env-purge-doc'(, 'history') [app] emitting event: 'source-read'('history', [':tocdepth: 2\n\n.. spelling::\n\n reproducibility\n\n.. _changes:\n\nHistory\n****** Extending local dictionary for history with ['reproducibility'] [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: tocdepth [app] emitting event: 'doctree-read'(
>,) reading sources... [ 11%] index [app] emitting event: 'env-purge-doc'(, 'index') [app] emitting event: 'source-read'('index', ['Welcome to Cheroot documentation!\n=================================\n\n.. include:: ../ [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: Cheroot is available as part of the Tidelift Subscription [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: codecov [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line: [i18n] PATCH: 'docutils.nodes.image' to have source, line:
,) reading sources... [ 14%] pkg/cheroot [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot') [app] emitting event: 'source-read'('pkg/cheroot', ['cheroot package\n===============\n\nSubpackages\n-----------\n\n.. toctree::\n : [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.rst:33: input: .. automodule:: cheroot :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot [autodoc] import cheroot => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot', , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': >,) reading sources... [ 17%] pkg/cheroot.__main__ [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.__main__') [app] emitting event: 'source-read'('pkg/cheroot.__main__', ['cheroot.\\_\\_main\\_\\_ module\n===========================\n\n.. automo [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.__main__.rst:4: input: .. automodule:: cheroot.__main__ :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.__main__ [autodoc] import cheroot.__main__ => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.__main__', , Tru [app] emitting event: 'autodoc-skip-member'('module', '__name__', 'cheroot.__main__', True, {'members': , False, {'members': [autodoc] getattr(_, 'main') [autodoc] => [autodoc] output: .. py:module:: cheroot.__main__ Stub for accessing the Cheroot CLI tool. [app] emitting event: 'doctree-read'(>,) reading sources... [ 20%] pkg/cheroot._compat [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot._compat') [app] emitting event: 'source-read'('pkg/cheroot._compat', ['cheroot.\\_compat module\n=======================\n\n.. automodule:: chero [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot._compat.rst:4: input: .. automodule:: cheroot._compat :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot._compat [autodoc] import cheroot._compat => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot._compat', , 'u [app] emitting event: 'autodoc-skip-member'('module', 'IS_GITHUB_ACTIONS_WORKFLOW', False, False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'IS_MACOS', False, False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'IS_PPC', False, False, {'members': , ' [app] emitting event: 'autodoc-skip-member'('module', 'IS_PYPY', False, False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'IS_WINDOWS', False, False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'member [app] emitting event: 'autodoc-skip-member'('module', 'print_function', _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 1048576), False, [app] emitting event: 'autodoc-skip-member'('module', 're', , False, {'members': , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'six', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'suppress', , False, {'members': [autodoc] getattr(_, 'assert_native') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot._compat.assert_native', , {'members' [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot._compat.assert_native', , {'members' [autodoc] from cheroot._compat import bton [autodoc] import cheroot._compat => [autodoc] getattr(_, 'bton') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot._compat.bton', , {'members': , {'members': [autodoc] getattr(_, 'extract_bytes') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot._compat.extract_bytes', , {'members' [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot._compat.extract_bytes', , {'members' [autodoc] from cheroot._compat import memoryview [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot._compat.memoryview', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': , True, {'members': , True, {'members': , True, {'members': , True, {'mem [app] emitting event: 'autodoc-skip-member'('class', '__getitem__', , True, {'members': , True, {'members': , True, {'members': , True, {'members': , True, {'members': , True, {'members': , True, {'members': , True, {'members': , True, {'members': < [app] emitting event: 'autodoc-skip-member'('class', '__repr__', , True, {'members': , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'c_contiguous') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.c_contiguous', [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'cast') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot._compat.memoryview.cast', , {'members': < [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot._compat.memoryview.cast', , {'members': < [autodoc] from cheroot._compat import memoryview.contiguous [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'contiguous') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.contiguous', [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'f_contiguous') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.f_contiguous', [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'format') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.format', , {'m [app] emitting event: 'autodoc-process-docstring'('attribute', 'cheroot._compat.memoryview.format', , {'m [autodoc] from cheroot._compat import memoryview.hex [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'hex') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot._compat.memoryview.hex', , {'members': , {'members': [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'itemsize') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.itemsize', , [app] emitting event: 'autodoc-process-docstring'('attribute', 'cheroot._compat.memoryview.itemsize', , [autodoc] from cheroot._compat import memoryview.nbytes [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'nbytes') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.nbytes', , {'m [app] emitting event: 'autodoc-process-docstring'('attribute', 'cheroot._compat.memoryview.nbytes', , {'m [autodoc] from cheroot._compat import memoryview.ndim [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'ndim') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.ndim', , {'membe [app] emitting event: 'autodoc-process-docstring'('attribute', 'cheroot._compat.memoryview.ndim', , {'membe [autodoc] from cheroot._compat import memoryview.obj [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'obj') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.obj', , {'members [app] emitting event: 'autodoc-process-docstring'('attribute', 'cheroot._compat.memoryview.obj', , {'members [autodoc] from cheroot._compat import memoryview.readonly [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'readonly') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.readonly', , [app] emitting event: 'autodoc-process-docstring'('attribute', 'cheroot._compat.memoryview.readonly', , [autodoc] from cheroot._compat import memoryview.release [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'release') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot._compat.memoryview.release', , {'membe [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot._compat.memoryview.release', , {'membe [autodoc] from cheroot._compat import memoryview.shape [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'shape') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.shape', , {'mem [app] emitting event: 'autodoc-process-docstring'('attribute', 'cheroot._compat.memoryview.shape', , {'mem [autodoc] from cheroot._compat import memoryview.strides [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'strides') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.strides', , { [app] emitting event: 'autodoc-process-docstring'('attribute', 'cheroot._compat.memoryview.strides', , { [autodoc] from cheroot._compat import memoryview.suboffsets [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'suboffsets') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot._compat.memoryview.suboffsets', [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'tobytes') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot._compat.memoryview.tobytes', , {'membe [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot._compat.memoryview.tobytes', , {'membe [autodoc] from cheroot._compat import memoryview.tolist [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'tolist') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot._compat.memoryview.tolist', , {'members [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot._compat.memoryview.tolist', , {'members [autodoc] from cheroot._compat import memoryview.toreadonly [autodoc] import cheroot._compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] getattr(_, 'toreadonly') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot._compat.memoryview.toreadonly', , { [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot._compat.memoryview.toreadonly', , { [autodoc] from cheroot._compat import ntob [autodoc] import cheroot._compat => [autodoc] getattr(_, 'ntob') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot._compat.ntob', , {'members': , {'members': [autodoc] getattr(_, 'ntou') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot._compat.ntou', , {'members': , {'members': [autodoc] getattr(_, 'suppress') [autodoc] => [autodoc] output: .. py:module:: cheroot._compat Compatibility code for using Cheroot with various versions of Python. .. py:function:: assert_native(n) :module: cheroot._compat Check whether the input is of native :py:class:`str` type. Raises: TypeError: in case of failed check .. py:function:: bton(b, encoding='ISO-8859-1') :module: cheroot._compat Return the byte string as native string in the given encoding. .. py:function:: extract_bytes(mv) :module: cheroot._compat Retrieve bytes out of the given input buffer. :param mv: input :py:func:`buffer` :type mv: memoryview or bytes :return: unwrapped bytes :rtype: bytes :raises ValueError: if the input is not one of \ :py:class:`memoryview`/:py:func:`buffer` \ or :py:class:`bytes` .. py:class:: memoryview(object) :module: cheroot._compat :canonical: builtins.memoryview Bases: :py:class:`object` Create a new memoryview object which references the given object. .. py:attribute:: memoryview.c_contiguous :module: cheroot._compat A bool indicating whether the memory is C contiguous. .. py:method:: memoryview.cast :module: cheroot._compat Cast a memoryview to a new format or shape. .. py:attribute:: memoryview.contiguous :module: cheroot._compat A bool indicating whether the memory is contiguous. .. py:attribute:: memoryview.f_contiguous :module: cheroot._compat A bool indicating whether the memory is Fortran contiguous. .. py:attribute:: memoryview.format :module: cheroot._compat A string containing the format (in struct module style) for each element in the view. .. py:method:: memoryview.hex :module: cheroot._compat Return the data in the buffer as a str of hexadecimal numbers. sep An optional single character or byte to separate hex bytes. bytes_per_sep How many bytes between separators. Positive values count from the right, negative values count from the left. Example: >>> value = memoryview(b'\xb9\x01\xef') >>> value.hex() 'b901ef' >>> value.hex(':') 'b9:01:ef' >>> value.hex(':', 2) 'b9:01ef' >>> value.hex(':', -2) 'b901:ef' .. py:attribute:: memoryview.itemsize :module: cheroot._compat The size in bytes of each element of the memoryview. .. py:attribute:: memoryview.nbytes :module: cheroot._compat The amount of space in bytes that the array would use in a contiguous representation. .. py:attribute:: memoryview.ndim :module: cheroot._compat An integer indicating how many dimensions of a multi-dimensional array the memory represents. .. py:attribute:: memoryview.obj :module: cheroot._compat The underlying object of the memoryview. .. py:attribute:: memoryview.readonly :module: cheroot._compat A bool indicating whether the memory is read only. .. py:method:: memoryview.release() :module: cheroot._compat Release the underlying buffer exposed by the memoryview object. .. py:attribute:: memoryview.shape :module: cheroot._compat A tuple of ndim integers giving the shape of the memory as an N-dimensional array. .. py:attribute:: memoryview.strides :module: cheroot._compat A tuple of ndim integers giving the size in bytes to access each element for each dimension of the array. .. py:attribute:: memoryview.suboffsets :module: cheroot._compat A tuple of integers used internally for PIL-style arrays. .. py:method:: memoryview.tobytes(order='C') :module: cheroot._compat Return the data in the buffer as a byte string. Order can be {'C', 'F', 'A'}. When order is 'C' or 'F', the data of the original array is converted to C or Fortran order. For contiguous views, 'A' returns an exact copy of the physical memory. In particular, in-memory Fortran order is preserved. For non-contiguous views, the data is converted to C first. order=None is the same as order='C'. .. py:method:: memoryview.tolist() :module: cheroot._compat Return the data in the buffer as a list of elements. .. py:method:: memoryview.toreadonly() :module: cheroot._compat Return a readonly version of the memoryview. .. py:function:: ntob(n, encoding='ISO-8859-1') :module: cheroot._compat Return the native string as bytes in the given encoding. .. py:function:: ntou(n, encoding='ISO-8859-1') :module: cheroot._compat Return the native string as Unicode with the given encoding. [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Raises: [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return type [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Raises [i18n] PATCH: 'docutils.nodes.term' to have rawsource: sep [i18n] PATCH: 'docutils.nodes.term' to have rawsource: bytes_per_sep [app] emitting event: 'doctree-read'(>,) reading sources... [ 22%] pkg/cheroot.cli [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.cli') [app] emitting event: 'source-read'('pkg/cheroot.cli', ['cheroot.cli module\n==================\n\n.. automodule:: cheroot.cli\n :mem [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.cli.rst:4: input: .. automodule:: cheroot.cli :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.cli [autodoc] import cheroot.cli => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.cli', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'member [app] emitting event: 'autodoc-skip-member'('module', 'import_module', , False, {'members': , False, {'members': , False, {'members': , False, {'membe [app] emitting event: 'autodoc-skip-member'('module', 'parse_wsgi_bind_location', , False, [app] emitting event: 'autodoc-skip-member'('module', 'server', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'suppress', , False, {'members': , False, {'members': [autodoc] getattr(_, 'AbstractSocket') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.cli.AbstractSocket', , {'members': , {'members': , {'members': , True, {'members': [autodoc] getattr(_, 'Application') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.cli.Application', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': >, False, [app] emitting event: 'autodoc-skip-member'('class', 'server', , False, {'members': , False, {'members': [autodoc] getattr(_, 'Application') [autodoc] => [autodoc] getattr(_, 'resolve') [autodoc] => > [app] emitting event: 'autodoc-before-process-signature'(>, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.cli.Application.resolve', [autodoc] getattr(_, 'Application') [autodoc] => [autodoc] getattr(_, 'server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.cli.Application.server', , {'memb [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.cli.Application.server', , {'memb [autodoc] from cheroot.cli import Application.server_args [autodoc] import cheroot.cli => [autodoc] getattr(_, 'Application') [autodoc] => [autodoc] getattr(_, 'server_args') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.cli.Application.server_args', [autodoc] getattr(_, 'BindLocation') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.cli.BindLocation', , {'members': , {'members': , {'members': , True, {'members': [autodoc] getattr(_, 'GatewayYo') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.cli.GatewayYo', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': , False, {'members': [autodoc] getattr(_, 'GatewayYo') [autodoc] => [autodoc] getattr(_, 'server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.cli.GatewayYo.server', , {'members' [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.cli.GatewayYo.server', , {'members' [autodoc] from cheroot.cli import TCPSocket [autodoc] import cheroot.cli => [autodoc] getattr(_, 'TCPSocket') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.cli.TCPSocket', , {'members': , {'members': , {'members': , True, {'members': [autodoc] getattr(_, 'UnixSocket') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.cli.UnixSocket', , {'members': , {'members': , {'members': , True, {'members': [autodoc] getattr(_, 'import_module') [autodoc] => [autodoc] from cheroot.cli import main [autodoc] import cheroot.cli => [autodoc] getattr(_, 'main') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.cli.main', , {'members': , {'members': [autodoc] getattr(_, 'parse_wsgi_bind_addr') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.cli.parse_wsgi_bind_addr', , [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.cli.parse_wsgi_bind_addr', , [autodoc] from cheroot.cli import parse_wsgi_bind_location [autodoc] import cheroot.cli => [autodoc] getattr(_, 'parse_wsgi_bind_location') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.cli.parse_wsgi_bind_location', [autodoc] getattr(_, 'suppress') [autodoc] => [autodoc] output: .. py:module:: cheroot.cli Command line tool for starting a Cheroot WSGI/HTTP server instance. Basic usage: .. code-block:: shell-session $ # Start a server on 127.0.0.1:8000 with the default settings $ # for the WSGI app myapp/wsgi.py:application() $ cheroot myapp.wsgi $ # Start a server on 0.0.0.0:9000 with 8 threads $ # for the WSGI app myapp/wsgi.py:main_app() $ cheroot myapp.wsgi:main_app --bind 0.0.0.0:9000 --threads 8 $ # Start a server for the cheroot.server.Gateway subclass $ # myapp/gateway.py:HTTPGateway $ cheroot myapp.gateway:HTTPGateway $ # Start a server on the UNIX socket /var/spool/myapp.sock $ cheroot myapp.wsgi --bind /var/spool/myapp.sock $ # Start a server on the abstract UNIX socket CherootServer $ cheroot myapp.wsgi --bind @CherootServer .. spelling:: cli .. py:class:: AbstractSocket(abstract_socket) :module: cheroot.cli Bases: :py:class:`cheroot.cli.BindLocation` AbstractSocket. .. py:class:: Application(wsgi_app) :module: cheroot.cli Bases: :py:class:`object` Application. .. py:method:: Application.resolve(full_path) :module: cheroot.cli :classmethod: Read WSGI app/Gateway path string and import application module. .. py:method:: Application.server(parsed_args) :module: cheroot.cli Server. .. py:method:: Application.server_args(parsed_args) :module: cheroot.cli Return keyword args for Server class. .. py:class:: BindLocation() :module: cheroot.cli Bases: :py:class:`object` A class for storing the bind location for a Cheroot instance. .. py:class:: GatewayYo(gateway) :module: cheroot.cli Bases: :py:class:`object` Gateway. .. py:method:: GatewayYo.server(parsed_args) :module: cheroot.cli Server. .. py:class:: TCPSocket(address, port) :module: cheroot.cli Bases: :py:class:`cheroot.cli.BindLocation` TCPSocket. .. py:class:: UnixSocket(path) :module: cheroot.cli Bases: :py:class:`cheroot.cli.BindLocation` UnixSocket. .. py:function:: main() :module: cheroot.cli Create a new Cheroot instance with arguments from the command line. .. py:function:: parse_wsgi_bind_addr(bind_addr_string) :module: cheroot.cli Convert bind address string to bind address parameter. .. py:function:: parse_wsgi_bind_location(bind_addr_string) :module: cheroot.cli Convert bind address string to a BindLocation. Extending local dictionary for pkg/cheroot.cli with ['cli'] [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 25%] pkg/cheroot.connections [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.connections') [app] emitting event: 'source-read'('pkg/cheroot.connections', ['cheroot.connections module\n==========================\n\n.. automodul [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.connections.rst:4: input: .. automodule:: cheroot.connections :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.connections [autodoc] import cheroot.connections => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.connections', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'IS_WINDOWS', False, False, {'members': , False, {'members': , False, {'member [app] emitting event: 'autodoc-skip-member'('module', '__builtins__', {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and [app] emitting event: 'autodoc-skip-member'('module', '__cached__', '/home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/__pycache__/connections [app] emitting event: 'autodoc-skip-member'('module', '__doc__', 'Utilities to manage open connections.', True, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': , False, {'members': , Fa [app] emitting event: 'autodoc-skip-member'('module', 'print_function', _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 1048576), False, [app] emitting event: 'autodoc-skip-member'('module', 'selectors', , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'six', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'socket', , False, {'members': , False, {'members': , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'time', , False, {'members': [autodoc] getattr(_, 'ConnectionManager') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.connections.ConnectionManager', , [app] emitting event: 'autodoc-process-bases'('cheroot.connections.ConnectionManager', , {'members [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.connections.ConnectionManager', , [app] emitting event: 'autodoc-skip-member'('class', '__dict__', mappingproxy({'__module__': 'cheroot.connections', '__doc__': 'Class which man [app] emitting event: 'autodoc-skip-member'('class', '__doc__', 'Class which manages HTTPConnection objects.\n\n This is for connections whi [app] emitting event: 'autodoc-skip-member'('class', '__init__', , True, {'members': , True, {'members': [app] emitting event: 'autodoc-skip-member'('class', '_expire', , False, {'members': , [app] emitting event: 'autodoc-skip-member'('class', '_num_connections', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': [autodoc] getattr(_, 'ConnectionManager') [autodoc] => [autodoc] getattr(_, '_expire') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections.ConnectionManager._expire', [autodoc] getattr(_, 'ConnectionManager') [autodoc] => [autodoc] getattr(_, '_from_server_socket') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections.ConnectionManager._from_server_socket', [autodoc] getattr(_, 'ConnectionManager') [autodoc] => [autodoc] getattr(_, '_num_connections') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.connections.ConnectionManager._num_connections', [autodoc] getattr(_, 'ConnectionManager') [autodoc] => [autodoc] getattr(_, '_remove_invalid_sockets') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections.ConnectionManager._remove_invalid_sockets', [autodoc] getattr(_, 'ConnectionManager') [autodoc] => [autodoc] getattr(_, '_run') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections.ConnectionManager._run', [autodoc] getattr(_, 'ConnectionManager') [autodoc] => [autodoc] getattr(_, 'can_add_keepalive_connection') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.connections.ConnectionManager.can_add_keepalive_connection', [autodoc] getattr(_, 'ConnectionManager') [autodoc] => [autodoc] getattr(_, 'close') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections.ConnectionManager.close', [autodoc] getattr(_, 'ConnectionManager') [autodoc] => [autodoc] getattr(_, 'put') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections.ConnectionManager.put', [autodoc] getattr(_, 'ConnectionManager') [autodoc] => [autodoc] getattr(_, 'run') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections.ConnectionManager.run', [autodoc] getattr(_, 'ConnectionManager') [autodoc] => [autodoc] getattr(_, 'stop') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections.ConnectionManager.stop', [autodoc] getattr(_, 'MakeFile') [autodoc] => [autodoc] from cheroot.connections import _ThreadsafeSelector [autodoc] import cheroot.connections => [autodoc] getattr(_, '_ThreadsafeSelector') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.connections._ThreadsafeSelector', , {'mem [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.connections._ThreadsafeSelector', , True, {'members': < [app] emitting event: 'autodoc-skip-member'('class', '__len__', , True, {'members': , True, {'members [app] emitting event: 'autodoc-skip-member'('class', 'close', , False, {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'select', , False, {'members': , False, {'member [autodoc] from cheroot.connections import _ThreadsafeSelector.close [autodoc] import cheroot.connections => [autodoc] getattr(_, '_ThreadsafeSelector') [autodoc] => [autodoc] getattr(_, 'close') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections._ThreadsafeSelector.close', [autodoc] getattr(_, '_ThreadsafeSelector') [autodoc] => [autodoc] getattr(_, 'connections') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.connections._ThreadsafeSelector.connections', [autodoc] getattr(_, '_ThreadsafeSelector') [autodoc] => [autodoc] getattr(_, 'register') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections._ThreadsafeSelector.register', [autodoc] getattr(_, '_ThreadsafeSelector') [autodoc] => [autodoc] getattr(_, 'select') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections._ThreadsafeSelector.select', [autodoc] getattr(_, '_ThreadsafeSelector') [autodoc] => [autodoc] getattr(_, 'unregister') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.connections._ThreadsafeSelector.unregister', [autodoc] getattr(_, 'prevent_socket_inheritance') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.connections.prevent_socket_inheritance', [autodoc] getattr(_, 'suppress') [autodoc] => [autodoc] output: .. py:module:: cheroot.connections Utilities to manage open connections. .. py:class:: ConnectionManager(server) :module: cheroot.connections Bases: :py:class:`object` Class which manages HTTPConnection objects. This is for connections which are being kept-alive for follow-up requests. .. py:method:: ConnectionManager._expire(threshold) :module: cheroot.connections Expire least recently used connections. :param threshold: Connections that have not been used within this \ duration (in seconds), are considered expired and \ are closed and removed. :type threshold: float This should be called periodically. .. py:method:: ConnectionManager._from_server_socket(server_socket) :module: cheroot.connections .. py:property:: ConnectionManager._num_connections :module: cheroot.connections Return the current number of connections. Includes all connections registered with the selector, minus one for the server socket, which is always registered with the selector. .. py:method:: ConnectionManager._remove_invalid_sockets() :module: cheroot.connections Clean up the resources of any broken connections. This method attempts to detect any connections in an invalid state, unregisters them from the selector and closes the file descriptors of the corresponding network sockets where possible. .. py:method:: ConnectionManager._run(expiration_interval) :module: cheroot.connections Run connection handler loop until stop was requested. :param expiration_interval: Interval, in seconds, at which \ connections will be checked for \ expiration. :type expiration_interval: float Use ``expiration_interval`` as ``select()`` timeout to assure expired connections are closed in time. On Windows cap the timeout to 0.05 seconds as ``select()`` does not return when a socket is ready. .. py:property:: ConnectionManager.can_add_keepalive_connection :module: cheroot.connections Flag whether it is allowed to add a new keep-alive connection. .. py:method:: ConnectionManager.close() :module: cheroot.connections Close all monitored connections. .. py:method:: ConnectionManager.put(conn) :module: cheroot.connections Put idle connection into the ConnectionManager to be managed. :param conn: HTTP connection to be managed :type conn: cheroot.server.HTTPConnection .. py:method:: ConnectionManager.run(expiration_interval) :module: cheroot.connections Run the connections selector indefinitely. Args: expiration_interval (float): Interval, in seconds, at which connections will be checked for expiration. Connections that are ready to process are submitted via self.server.process_conn() Connections submitted for processing must be `put()` back if they should be examined again for another request. Can be shut down by calling `stop()`. .. py:method:: ConnectionManager.stop() :module: cheroot.connections Stop the selector loop in run() synchronously. May take up to half a second. .. py:class:: _ThreadsafeSelector() :module: cheroot.connections Bases: :py:class:`object` Thread-safe wrapper around a DefaultSelector. There are 2 thread contexts in which it may be accessed: * the selector thread * one of the worker threads in workers/threadpool.py The expected read/write patterns are: * :py:func:`~iter`: selector thread * :py:meth:`register`: selector thread and threadpool, via :py:meth:`~cheroot.workers.threadpool.ThreadPool.put` * :py:meth:`unregister`: selector thread only Notably, this means :py:class:`_ThreadsafeSelector` never needs to worry that connections will be removed behind its back. The lock is held when iterating or modifying the selector but is not required when :py:meth:`select()ing ` on it. .. py:method:: _ThreadsafeSelector.close() :module: cheroot.connections Close the selector. .. py:property:: _ThreadsafeSelector.connections :module: cheroot.connections Retrieve connections registered with the selector. .. py:method:: _ThreadsafeSelector.register(fileobj, events, data=None) :module: cheroot.connections Register ``fileobj`` with the selector. .. py:method:: _ThreadsafeSelector.select(timeout=None) :module: cheroot.connections Return socket fd and data pairs from selectors.select call. Returns entries ready to read in the form: (socket_file_descriptor, connection) .. py:method:: _ThreadsafeSelector.unregister(fileobj) :module: cheroot.connections Unregister ``fileobj`` from the selector. .. py:function:: prevent_socket_inheritance(sock) :module: cheroot.connections Mark the given socket fd as non-inheritable (POSIX). [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'function', >) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Args: [i18n] PATCH: 'docutils.nodes.term' to have rawsource: expiration_interval (float): Interval, in seconds, at which [i18n] PATCH: 'docutils.nodes.term' to have rawsource: There are 2 thread contexts in which it may be accessed: [i18n] PATCH: 'docutils.nodes.term' to have rawsource: The expected read/write patterns are: [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Returns entries ready to read in the form: [app] emitting event: 'doctree-read'(>,) reading sources... [ 28%] pkg/cheroot.errors [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.errors') [app] emitting event: 'source-read'('pkg/cheroot.errors', ['cheroot.errors module\n=====================\n\n.. automodule:: cheroot.err [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.errors.rst:4: input: .. automodule:: cheroot.errors :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.errors [autodoc] import cheroot.errors => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.errors', , False, {'members': , False, {'members': , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , , False, {'members': , False, {'membe [app] emitting event: 'autodoc-skip-member'('module', 'print_function', _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 1048576), False, [app] emitting event: 'autodoc-skip-member'('module', 'socket_error_eintr', [4], False, {'members': , False, {'members': [autodoc] getattr(_, 'FatalSSLAlert') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('exception', 'cheroot.errors.FatalSSLAlert', , {'members': , {'members': , {'members': , True, {'members': [autodoc] from cheroot.errors import MaxSizeExceeded [autodoc] import cheroot.errors => [autodoc] getattr(_, 'MaxSizeExceeded') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('exception', 'cheroot.errors.MaxSizeExceeded', , {'members' [app] emitting event: 'autodoc-process-bases'('cheroot.errors.MaxSizeExceeded', , {'members': , {'members' [app] emitting event: 'autodoc-skip-member'('exception', '__doc__', 'Exception raised when a client sends more data then acceptable within limi [app] emitting event: 'autodoc-skip-member'('exception', '__module__', 'cheroot.errors', True, {'members': , True, {'members [autodoc] from cheroot.errors import NoSSLError [autodoc] import cheroot.errors => [autodoc] getattr(_, 'NoSSLError') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('exception', 'cheroot.errors.NoSSLError', , {'members': , {'members': , {'members': , True, {'members': [autodoc] getattr(_, 'acceptable_sock_shutdown_error_codes') [autodoc] => {32, 107, 108, 104} [app] emitting event: 'autodoc-process-signature'('data', 'cheroot.errors.acceptable_sock_shutdown_error_codes', {32, 107, 108, 104}, {'members': [autodoc] getattr(_, 'plat_specific_errors') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.errors.plat_specific_errors', >) [app] emitting event: 'object-description-transform'('py', 'exception', >) [app] emitting event: 'object-description-transform'('py', 'exception', >) [app] emitting event: 'object-description-transform'('py', 'data', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 31%] pkg/cheroot.makefile [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.makefile') [app] emitting event: 'source-read'('pkg/cheroot.makefile', ['cheroot.makefile module\n=======================\n\n.. automodule:: chero [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.makefile.rst:4: input: .. automodule:: cheroot.makefile :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.makefile [autodoc] import cheroot.makefile => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.makefile', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'socket', , False, {'members': [autodoc] getattr(_, 'BufferedWriter') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.makefile.BufferedWriter', , {'members': [app] emitting event: 'autodoc-process-bases'('cheroot.makefile.BufferedWriter', , {'members': , {'members': [app] emitting event: 'autodoc-skip-member'('class', '__abstractmethods__', frozenset(), True, {'members': , False, {'members': , False, {'m [app] emitting event: 'autodoc-skip-member'('class', 'write', , False, {'members': [autodoc] getattr(_, 'BufferedWriter') [autodoc] => [autodoc] getattr(_, '_abc_impl') [autodoc] => <_abc._abc_data object at 0x7f2cf509dc00> [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.makefile.BufferedWriter._abc_impl', <_abc._abc_data object at 0x7f2cf509dc00> [autodoc] from cheroot.makefile import BufferedWriter._flush_unlocked [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'BufferedWriter') [autodoc] => [autodoc] getattr(_, '_flush_unlocked') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.BufferedWriter._flush_unlocked', [autodoc] getattr(_, 'BufferedWriter') [autodoc] => [autodoc] getattr(_, 'write') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.BufferedWriter.write', [autodoc] getattr(_, 'MakeFile') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.makefile.MakeFile', , {'members': , {'members': [autodoc] getattr(_, 'MakeFile_PY2') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.makefile.MakeFile_PY2', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': [autodoc] getattr(_, 'MakeFile_PY2') [autodoc] => [autodoc] getattr(_, '_drop') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.MakeFile_PY2._drop', , { [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.makefile.MakeFile_PY2._drop', , { [autodoc] from cheroot.makefile import MakeFile_PY2._fileobject_uses_str_type [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'MakeFile_PY2') [autodoc] => [autodoc] getattr(_, '_fileobject_uses_str_type') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.makefile.MakeFile_PY2._fileobject_uses_str_type', False, {'members': [autodoc] getattr(_, 'MakeFile_PY2') [autodoc] => [autodoc] getattr(_, '_reuse') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.MakeFile_PY2._reuse', , [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.makefile.MakeFile_PY2._reuse', , [autodoc] from cheroot.makefile import MakeFile_PY2.flush [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'MakeFile_PY2') [autodoc] => [autodoc] getattr(_, 'flush') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.MakeFile_PY2.flush', , { [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.makefile.MakeFile_PY2.flush', , { [autodoc] from cheroot.makefile import MakeFile_PY2.has_data [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'MakeFile_PY2') [autodoc] => [autodoc] getattr(_, 'has_data') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.MakeFile_PY2.has_data', [autodoc] getattr(_, 'MakeFile_PY2') [autodoc] => [autodoc] getattr(_, 'read') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.MakeFile_PY2.read', , {'m [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.makefile.MakeFile_PY2.read', , {'m [autodoc] from cheroot.makefile import MakeFile_PY2.readline [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'MakeFile_PY2') [autodoc] => [autodoc] getattr(_, 'readline') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.MakeFile_PY2.readline', [autodoc] getattr(_, 'MakeFile_PY2') [autodoc] => [autodoc] getattr(_, 'recv') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.MakeFile_PY2.recv', , {'m [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.makefile.MakeFile_PY2.recv', , {'m [autodoc] from cheroot.makefile import MakeFile_PY2.send [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'MakeFile_PY2') [autodoc] => [autodoc] getattr(_, 'send') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.MakeFile_PY2.send', , {'m [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.makefile.MakeFile_PY2.send', , {'m [autodoc] from cheroot.makefile import MakeFile_PY2.write [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'MakeFile_PY2') [autodoc] => [autodoc] getattr(_, 'write') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.MakeFile_PY2.write', , { [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.makefile.MakeFile_PY2.write', , { [autodoc] from cheroot.makefile import StreamReader [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'StreamReader') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.makefile.StreamReader', , {'members': , {'members': , {'members': , True, {'members': , False, {'members': , False, {'members': , False, {'members': [autodoc] getattr(_, 'StreamReader') [autodoc] => [autodoc] getattr(_, '_abc_impl') [autodoc] => <_abc._abc_data object at 0x7f2cf744c5c0> [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.makefile.StreamReader._abc_impl', <_abc._abc_data object at 0x7f2cf744c5c0>, [autodoc] from cheroot.makefile import StreamReader.has_data [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'StreamReader') [autodoc] => [autodoc] getattr(_, 'has_data') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.StreamReader.has_data', [autodoc] getattr(_, 'StreamReader') [autodoc] => [autodoc] getattr(_, 'read') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.StreamReader.read', , {'m [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.makefile.StreamReader.read', , {'m [autodoc] from cheroot.makefile import StreamWriter [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'StreamWriter') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.makefile.StreamWriter', , {'members': , {'members': , {'members': , True, {'members': , False, {'members': , False, {'members': [autodoc] getattr(_, 'StreamWriter') [autodoc] => [autodoc] getattr(_, '_abc_impl') [autodoc] => <_abc._abc_data object at 0x7f2cf5021c80> [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.makefile.StreamWriter._abc_impl', <_abc._abc_data object at 0x7f2cf5021c80>, [autodoc] from cheroot.makefile import StreamWriter.write [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'StreamWriter') [autodoc] => [autodoc] getattr(_, 'write') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.makefile.StreamWriter.write', , { [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.makefile.StreamWriter.write', , { [autodoc] from cheroot.makefile import extract_bytes [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'extract_bytes') [autodoc] => [autodoc] from cheroot.makefile import memoryview [autodoc] import cheroot.makefile => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [autodoc] output: .. py:module:: cheroot.makefile Socket file object. .. py:class:: BufferedWriter(raw, buffer_size=8192) :module: cheroot.makefile Bases: :py:class:`_pyio.BufferedWriter` Faux file object attached to a socket object. .. py:attribute:: BufferedWriter._abc_impl :module: cheroot.makefile :value: <_abc._abc_data object> .. py:method:: BufferedWriter._flush_unlocked() :module: cheroot.makefile .. py:method:: BufferedWriter.write(b) :module: cheroot.makefile Write bytes to buffer. .. py:function:: MakeFile(sock, mode='r', bufsize=8192) :module: cheroot.makefile File object attached to a socket object. .. py:class:: MakeFile_PY2(*args, **kwargs) :module: cheroot.makefile Bases: :py:class:`object` Faux file object attached to a socket object. .. py:method:: MakeFile_PY2._drop() :module: cheroot.makefile .. py:attribute:: MakeFile_PY2._fileobject_uses_str_type :module: cheroot.makefile :value: False .. py:method:: MakeFile_PY2._reuse() :module: cheroot.makefile .. py:method:: MakeFile_PY2.flush() :module: cheroot.makefile Write all data from buffer to socket and reset write buffer. .. py:method:: MakeFile_PY2.has_data() :module: cheroot.makefile Return true if there is buffered data to read. .. py:method:: MakeFile_PY2.read(size=-1) :module: cheroot.makefile Read data from the socket to buffer. .. py:method:: MakeFile_PY2.readline(size=-1) :module: cheroot.makefile Read line from the socket to buffer. .. py:method:: MakeFile_PY2.recv(size) :module: cheroot.makefile Receive message of a size from the socket. .. py:method:: MakeFile_PY2.send(data) :module: cheroot.makefile Send some part of message to the socket. .. py:method:: MakeFile_PY2.write(data) :module: cheroot.makefile Send entire data contents for non-blocking sockets. .. py:class:: StreamReader(sock, mode='r', bufsize=8192) :module: cheroot.makefile Bases: :py:class:`_pyio.BufferedReader` Socket stream reader. .. py:attribute:: StreamReader._abc_impl :module: cheroot.makefile :value: <_abc._abc_data object> .. py:method:: StreamReader.has_data() :module: cheroot.makefile Return true if there is buffered data to read. .. py:method:: StreamReader.read(*args, **kwargs) :module: cheroot.makefile Capture bytes read. .. py:class:: StreamWriter(sock, mode='w', bufsize=8192) :module: cheroot.makefile Bases: :py:class:`cheroot.makefile.BufferedWriter` Socket stream writer. .. py:attribute:: StreamWriter._abc_impl :module: cheroot.makefile :value: <_abc._abc_data object> .. py:method:: StreamWriter.write(val, *args, **kwargs) :module: cheroot.makefile Capture bytes written. [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'doctree-read'(>,) reading sources... [ 34%] pkg/cheroot.server [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.server') [app] emitting event: 'source-read'('pkg/cheroot.server', ['cheroot.server module\n=====================\n\n.. automodule:: cheroot.ser [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.server.rst:4: input: .. automodule:: cheroot.server :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.server [autodoc] import cheroot.server => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.server', , ' [app] emitting event: 'autodoc-skip-member'('module', 'COLON', b':', True, {'members': , 'und [app] emitting event: 'autodoc-skip-member'('module', 'CRLF', b'\r\n', True, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('module', 'ChunkedRFile', , False, {'members': , False, [app] emitting event: 'autodoc-skip-member'('module', 'EMPTY', b'', True, {'members': , 'undo [app] emitting event: 'autodoc-skip-member'('module', 'FORWARD_SLASH', b'/', True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('module', 'IS_PPC', False, True, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('module', 'IS_UID_GID_RESOLVABLE', True, True, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'KnownLengthRFile', , False, {'members': , 'undoc [app] emitting event: 'autodoc-skip-member'('module', 'MakeFile', , True, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'SPACE', b' ', True, {'members': , 'und [app] emitting event: 'autodoc-skip-member'('module', 'SizeCheckWrapper', , False, {'members': , True, {'members': , 'undo [app] emitting event: 'autodoc-skip-member'('module', '_STOPPING_FOR_INTERRUPT', , True, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , True, {'members': , True, {'m [app] emitting event: 'autodoc-skip-member'('module', 'division', _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 131072), True, {'membe [app] emitting event: 'autodoc-skip-member'('module', 'email', , True, {'members [app] emitting event: 'autodoc-skip-member'('module', 'errors', , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'grp', , True, {'members': , True, {'m [app] emitting event: 'autodoc-skip-member'('module', 'lru_cache', , True, {'members': , True, {'members': , True, {'members': , True, {'members [app] emitting event: 'autodoc-skip-member'('module', 'print_function', _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 1048576), True, [app] emitting event: 'autodoc-skip-member'('module', 'pwd', , True, {'members': , True, {'members': , True, {'members': , True, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'socket', , True, {'members': , True, {'members': , True, {'members': , True, {'memb [app] emitting event: 'autodoc-skip-member'('module', 'threadpool', , True, {'members': , True, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'urllib', [autodoc] from cheroot.server import ChunkedRFile [autodoc] import cheroot.server => [autodoc] getattr(_, 'ChunkedRFile') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.server.ChunkedRFile', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, [app] emitting event: 'autodoc-skip-member'('class', 'readline', , False, {'members': , False, {'members': [autodoc] getattr(_, 'ChunkedRFile') [autodoc] => [autodoc] getattr(_, '_fetch') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.ChunkedRFile._fetch', , { [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.ChunkedRFile._fetch', , { [autodoc] from cheroot.server import ChunkedRFile.close [autodoc] import cheroot.server => [autodoc] getattr(_, 'ChunkedRFile') [autodoc] => [autodoc] getattr(_, 'close') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.ChunkedRFile.close', , {'m [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.ChunkedRFile.close', , {'m [autodoc] from cheroot.server import ChunkedRFile.read [autodoc] import cheroot.server => [autodoc] getattr(_, 'ChunkedRFile') [autodoc] => [autodoc] getattr(_, 'read') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.ChunkedRFile.read', , {'mem [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.ChunkedRFile.read', , {'mem [autodoc] from cheroot.server import ChunkedRFile.read_trailer_lines [autodoc] import cheroot.server => [autodoc] getattr(_, 'ChunkedRFile') [autodoc] => [autodoc] getattr(_, 'read_trailer_lines') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.ChunkedRFile.read_trailer_lines', [autodoc] getattr(_, 'ChunkedRFile') [autodoc] => [autodoc] getattr(_, 'readline') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.ChunkedRFile.readline', [autodoc] getattr(_, 'ChunkedRFile') [autodoc] => [autodoc] getattr(_, 'readlines') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.ChunkedRFile.readlines', [autodoc] getattr(_, 'DropUnderscoreHeaderReader') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.server.DropUnderscoreHeaderReader', , { [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.server.DropUnderscoreHeaderReader', , Fa [autodoc] from cheroot.server import DropUnderscoreHeaderReader._allow_header [autodoc] import cheroot.server => [autodoc] getattr(_, 'DropUnderscoreHeaderReader') [autodoc] => [autodoc] getattr(_, '_allow_header') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.DropUnderscoreHeaderReader._allow_header', [autodoc] getattr(_, 'Gateway') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.server.Gateway', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': , False, {'members': [autodoc] getattr(_, 'Gateway') [autodoc] => [autodoc] getattr(_, 'respond') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.Gateway.respond', , {'members [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.Gateway.respond', , {'members [autodoc] from cheroot.server import HTTPConnection [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.server.HTTPConnection', , {'members': , {'members': , {'members': , False, {'members': , True, {'members': , True, {'members': , [app] emitting event: 'autodoc-skip-member'('class', '_conditional_error', , Fals [app] emitting event: 'autodoc-skip-member'('class', '_handle_no_ssl', , False, {'mem [app] emitting event: 'autodoc-skip-member'('class', 'close', , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'get_peer_creds', , False, {'mem [app] emitting event: 'autodoc-skip-member'('class', 'last_used', None, False, {'members': , [app] emitting event: 'autodoc-skip-member'('class', 'linger', False, False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('class', 'peer_gid', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , ' [app] emitting event: 'autodoc-skip-member'('class', 'remote_addr', None, False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'remote_port', None, False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'resolve_peer_creds', , Fals [app] emitting event: 'autodoc-skip-member'('class', 'ssl_env', None, False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('class', 'wbufsize', 8192, False, {'members': , ' [autodoc] from cheroot.server import HTTPConnection.RequestHandlerClass [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'RequestHandlerClass') [autodoc] => [autodoc] from cheroot.server import HTTPConnection._close_kernel_socket [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, '_close_kernel_socket') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPConnection._close_kernel_socket', [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, '_conditional_error') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPConnection._conditional_error', [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, '_handle_no_ssl') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPConnection._handle_no_ssl', [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'close') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPConnection.close', , [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPConnection.close', , [autodoc] from cheroot.server import HTTPConnection.communicate [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'communicate') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPConnection.communicate', [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'get_peer_creds') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPConnection.get_peer_creds', [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'last_used') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPConnection.last_used', None, {'members': [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'linger') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPConnection.linger', False, {'members': [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'peer_gid') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.server.HTTPConnection.peer_gid', , {'member [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.server.HTTPConnection.peer_gid', , {'member [autodoc] from cheroot.server import HTTPConnection.peer_group [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'peer_group') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.server.HTTPConnection.peer_group', , {'memb [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.server.HTTPConnection.peer_group', , {'memb [autodoc] from cheroot.server import HTTPConnection.peer_pid [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'peer_pid') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.server.HTTPConnection.peer_pid', , {'member [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.server.HTTPConnection.peer_pid', , {'member [autodoc] from cheroot.server import HTTPConnection.peer_uid [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'peer_uid') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.server.HTTPConnection.peer_uid', , {'member [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.server.HTTPConnection.peer_uid', , {'member [autodoc] from cheroot.server import HTTPConnection.peer_user [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'peer_user') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.server.HTTPConnection.peer_user', , {'membe [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.server.HTTPConnection.peer_user', , {'membe [autodoc] from cheroot.server import HTTPConnection.peercreds_enabled [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'peercreds_enabled') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPConnection.peercreds_enabled', False, {'members': [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'peercreds_resolve_enabled') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPConnection.peercreds_resolve_enabled', False, {'members': [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'rbufsize') [autodoc] => 8192 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPConnection.rbufsize', 8192, {'members': [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'remote_addr') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPConnection.remote_addr', None, {'members': [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'remote_port') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPConnection.remote_port', None, {'members': [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'resolve_peer_creds') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPConnection.resolve_peer_creds', [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'ssl_env') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPConnection.ssl_env', None, {'members': [autodoc] getattr(_, 'HTTPConnection') [autodoc] => [autodoc] getattr(_, 'wbufsize') [autodoc] => 8192 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPConnection.wbufsize', 8192, {'members': [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.server.HTTPRequest', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': , 'undo [app] emitting event: 'autodoc-skip-member'('class', 'ensure_headers_sent', , False [app] emitting event: 'autodoc-skip-member'('class', 'header_reader', , False, {'members' [app] emitting event: 'autodoc-skip-member'('class', 'inheaders', {}, False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('class', 'outheaders', [], False, {'members': , ' [app] emitting event: 'autodoc-skip-member'('class', 'parse_request', , False, {'members' [app] emitting event: 'autodoc-skip-member'('class', 'read_request_headers', , Fal [app] emitting event: 'autodoc-skip-member'('class', 'read_request_line', , False, {' [app] emitting event: 'autodoc-skip-member'('class', 'ready', False, False, {'members': , 'un [app] emitting event: 'autodoc-skip-member'('class', 'respond', , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'server', None, False, {'members': , 'un [app] emitting event: 'autodoc-skip-member'('class', 'simple_response', , False, {'memb [app] emitting event: 'autodoc-skip-member'('class', 'write', , False, {'members': [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'chunked_write') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPRequest.chunked_write', False, {'members': [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'close_connection') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPRequest.close_connection', False, {'members': [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'conn') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPRequest.conn', None, {'members': [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'ensure_headers_sent') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPRequest.ensure_headers_sent', [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'header_reader') [autodoc] => [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPRequest.header_reader', [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'inheaders') [autodoc] => {} [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPRequest.inheaders', {}, {'members': [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'outheaders') [autodoc] => [] [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPRequest.outheaders', [], {'members': [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'parse_request') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPRequest.parse_request', [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'read_request_headers') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPRequest.read_request_headers', [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'read_request_line') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPRequest.read_request_line', [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'ready') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPRequest.ready', False, {'members': [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'respond') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPRequest.respond', , { [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPRequest.respond', , { [autodoc] from cheroot.server import HTTPRequest.send_headers [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'send_headers') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPRequest.send_headers', [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'server') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPRequest.server', None, {'members': [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'simple_response') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPRequest.simple_response', [autodoc] getattr(_, 'HTTPRequest') [autodoc] => [autodoc] getattr(_, 'write') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPRequest.write', , {'mem [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPRequest.write', , {'mem [autodoc] from cheroot.server import HTTPServer [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.server.HTTPServer', , {'members': , {'members': , {'members': , False, {'members': , True, {'members': , True, {'members': , True, {'members': , [app] emitting event: 'autodoc-skip-member'('class', '_run_in_thread', , False, {'members [app] emitting event: 'autodoc-skip-member'('class', '_stopping_for_interrupt', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'mem [app] emitting event: 'autodoc-skip-member'('class', 'can_add_keepalive_connection', , False, {'members': , False, {'members': , False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('class', 'interrupt', , False, {'members': , [app] emitting event: 'autodoc-skip-member'('class', 'minthreads', None, False, {'members': , [app] emitting event: 'autodoc-skip-member'('class', 'nodelay', True, False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('class', 'peercreds_enabled', False, False, {'members': , False, {'members': , False, {'members [app] emitting event: 'autodoc-skip-member'('class', 'process_conn', , False, {'members': < [app] emitting event: 'autodoc-skip-member'('class', 'protocol', 'HTTP/1.1', False, {'members': , False, {'members': , 'un [app] emitting event: 'autodoc-skip-member'('class', 'request_queue_size', 5, False, {'members': , [app] emitting event: 'autodoc-skip-member'('class', 'runtime', , False, {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'shutdown_timeout', 5, False, {'members': , ' [app] emitting event: 'autodoc-skip-member'('class', 'ssl_adapter', None, False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'start', , False, {'members': , False, {'members': , 'und [app] emitting event: 'autodoc-skip-member'('class', 'version', 'Cheroot/8.6.0', False, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'ConnectionClass') [autodoc] => [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.server.HTTPServer.ConnectionClass', , {'me [autodoc] from cheroot.server import HTTPServer._bind_addr [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, '_bind_addr') [autodoc] => '127.0.0.1' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer._bind_addr', '127.0.0.1', {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, '_interrupt') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer._interrupt', None, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, '_run_in_thread') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer._run_in_thread', [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, '_stopping_for_interrupt') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.server.HTTPServer._stopping_for_interrupt', [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'bind') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.bind', , {'members [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPServer.bind', , {'members [autodoc] from cheroot.server import HTTPServer.bind_addr [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'bind_addr') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.server.HTTPServer.bind_addr', , {'members': [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.server.HTTPServer.bind_addr', , {'members': [autodoc] from cheroot.server import HTTPServer.bind_socket [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'bind_socket') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.bind_socket', [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'bind_unix_socket') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.bind_unix_socket', [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'can_add_keepalive_connection') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.server.HTTPServer.can_add_keepalive_connection', [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'clear_stats') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.clear_stats', [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'error_log') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.error_log', , [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPServer.error_log', , [autodoc] from cheroot.server import HTTPServer.expiration_interval [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'expiration_interval') [autodoc] => 0.5 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.expiration_interval', 0.5, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'gateway') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.gateway', None, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'interrupt') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.server.HTTPServer.interrupt', , {'members': [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.server.HTTPServer.interrupt', , {'members': [autodoc] from cheroot.server import HTTPServer.keep_alive_conn_limit [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'keep_alive_conn_limit') [autodoc] => 10 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.keep_alive_conn_limit', 10, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'max_request_body_size') [autodoc] => 0 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.max_request_body_size', 0, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'max_request_header_size') [autodoc] => 0 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.max_request_header_size', 0, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'maxthreads') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.maxthreads', None, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'minthreads') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.minthreads', None, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'nodelay') [autodoc] => True [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.nodelay', True, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'peercreds_enabled') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.peercreds_enabled', False, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'peercreds_resolve_enabled') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.peercreds_resolve_enabled', False, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'prepare') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.prepare', , {'m [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPServer.prepare', , {'m [autodoc] from cheroot.server import HTTPServer.prepare_socket [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'prepare_socket') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.prepare_socket', [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'process_conn') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.process_conn', [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'protocol') [autodoc] => 'HTTP/1.1' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.protocol', 'HTTP/1.1', {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'put_conn') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.put_conn', , { [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPServer.put_conn', , { [autodoc] from cheroot.server import HTTPServer.ready [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'ready') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.ready', False, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'request_queue_size') [autodoc] => 5 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.request_queue_size', 5, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'resolve_real_bind_addr') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.resolve_real_bind_addr', [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'runtime') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.runtime', , {'m [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPServer.runtime', , {'m [autodoc] from cheroot.server import HTTPServer.safe_start [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'safe_start') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.safe_start', [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'serve') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.serve', , {'membe [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPServer.serve', , {'membe [autodoc] from cheroot.server import HTTPServer.server_name [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'server_name') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.server_name', None, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'shutdown_timeout') [autodoc] => 5 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.shutdown_timeout', 5, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'software') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.software', None, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'ssl_adapter') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.ssl_adapter', None, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'start') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.start', , {'membe [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPServer.start', , {'membe [autodoc] from cheroot.server import HTTPServer.stop [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'stop') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.stop', , {'members [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPServer.stop', , {'members [autodoc] from cheroot.server import HTTPServer.timeout [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'timeout') [autodoc] => 10 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.timeout', 10, {'members': [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'version') [autodoc] => 'Cheroot/8.6.0' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.version', 'Cheroot/8.6.0', {'members': [autodoc] getattr(_, 'HeaderReader') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.server.HeaderReader', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': , False, {'members [app] emitting event: 'autodoc-skip-member'('class', '_transform_key', , False, {'membe [autodoc] from cheroot.server import HeaderReader._allow_header [autodoc] import cheroot.server => [autodoc] getattr(_, 'HeaderReader') [autodoc] => [autodoc] getattr(_, '_allow_header') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HeaderReader._allow_header', [autodoc] getattr(_, 'HeaderReader') [autodoc] => [autodoc] getattr(_, '_transform_key') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HeaderReader._transform_key', [autodoc] getattr(_, 'KnownLengthRFile') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.server.KnownLengthRFile', , {'members': [app] emitting event: 'autodoc-process-bases'('cheroot.server.KnownLengthRFile', , {'members': , {'members': [app] emitting event: 'autodoc-skip-member'('class', '__dict__', mappingproxy({'__module__': 'cheroot.server', '__doc__': 'Wraps a file-like ob [app] emitting event: 'autodoc-skip-member'('class', '__doc__', 'Wraps a file-like object, returning an empty string when exhausted.\n\n :pa [app] emitting event: 'autodoc-skip-member'('class', '__init__', , True, {'members': , True, {'members': , True, {'members': , True, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'close', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': < [autodoc] from cheroot.server import KnownLengthRFile.close [autodoc] import cheroot.server => [autodoc] getattr(_, 'KnownLengthRFile') [autodoc] => [autodoc] getattr(_, 'close') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.KnownLengthRFile.close', [autodoc] getattr(_, 'KnownLengthRFile') [autodoc] => [autodoc] getattr(_, 'next') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.KnownLengthRFile.next', [autodoc] getattr(_, 'KnownLengthRFile') [autodoc] => [autodoc] getattr(_, 'read') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.KnownLengthRFile.read', [autodoc] getattr(_, 'KnownLengthRFile') [autodoc] => [autodoc] getattr(_, 'readline') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.KnownLengthRFile.readline', [autodoc] getattr(_, 'KnownLengthRFile') [autodoc] => [autodoc] getattr(_, 'readlines') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.KnownLengthRFile.readlines', [autodoc] getattr(_, 'SizeCheckWrapper') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.server.SizeCheckWrapper', , {'members': [app] emitting event: 'autodoc-process-bases'('cheroot.server.SizeCheckWrapper', , {'members': , {'members': [app] emitting event: 'autodoc-skip-member'('class', '__dict__', mappingproxy({'__module__': 'cheroot.server', '__doc__': 'Wraps a file-like ob [app] emitting event: 'autodoc-skip-member'('class', '__doc__', 'Wraps a file-like object, raising MaxSizeExceeded if too large.\n\n :param [app] emitting event: 'autodoc-skip-member'('class', '__init__', , True, {'members': , True, {'members': , True, {'members': , True, {'members': [app] emitting event: 'autodoc-skip-member'('class', '_check_length', , False, {'mem [app] emitting event: 'autodoc-skip-member'('class', 'close', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': < [autodoc] from cheroot.server import SizeCheckWrapper._check_length [autodoc] import cheroot.server => [autodoc] getattr(_, 'SizeCheckWrapper') [autodoc] => [autodoc] getattr(_, '_check_length') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.SizeCheckWrapper._check_length', [autodoc] getattr(_, 'SizeCheckWrapper') [autodoc] => [autodoc] getattr(_, 'close') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.SizeCheckWrapper.close', [autodoc] getattr(_, 'SizeCheckWrapper') [autodoc] => [autodoc] getattr(_, 'next') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.SizeCheckWrapper.next', [autodoc] getattr(_, 'SizeCheckWrapper') [autodoc] => [autodoc] getattr(_, 'read') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.SizeCheckWrapper.read', [autodoc] getattr(_, 'SizeCheckWrapper') [autodoc] => [autodoc] getattr(_, 'readline') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.SizeCheckWrapper.readline', [autodoc] getattr(_, 'SizeCheckWrapper') [autodoc] => [autodoc] getattr(_, 'readlines') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.SizeCheckWrapper.readlines', [autodoc] getattr(_, 'get_ssl_adapter_class') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.server.get_ssl_adapter_class', serve() while ready: _connections.run() while not stop_requested: child = socket.accept() # blocks until a request comes in conn = HTTPConnection(child, ...) server.process_conn(conn) # adds conn to threadpool Worker threads are kept in a pool and poll the Queue, popping off and then handling each connection in turn. Each connection can consist of an arbitrary number of requests and their responses, so we run a nested loop:: while True: conn = server.requests.get() conn.communicate() -> while True: req = HTTPRequest(...) req.parse_request() -> # Read the Request-Line, e.g. "GET /page HTTP/1.1" req.rfile.readline() read_headers(req.rfile, req.inheaders) req.respond() -> response = app(...) try: for chunk in response: if chunk: req.write(chunk) finally: if hasattr(response, "close"): response.close() if req.close_connection: return For running a server you can invoke :func:`start() ` (it will run the server forever) or use invoking :func:`prepare() ` and :func:`serve() ` like this:: server = HTTPServer(...) server.prepare() try: threading.Thread(target=server.serve).start() # waiting/detecting some appropriate stop condition here ... finally: server.stop() And now for a trivial doctest to exercise the test suite .. testsetup:: from cheroot.server import HTTPServer >>> 'HTTPServer' in globals() True .. py:class:: ChunkedRFile(rfile, maxlen, bufsize=8192) :module: cheroot.server Bases: :py:class:`object` Wraps a file-like object, returning an empty string when exhausted. This class is intended to provide a conforming wsgi.input value for request entities that have been encoded with the 'chunked' transfer encoding. :param rfile: file encoded with the 'chunked' transfer encoding :param int maxlen: maximum length of the file being read :param int bufsize: size of the buffer used to read the file .. py:method:: ChunkedRFile._fetch() :module: cheroot.server .. py:method:: ChunkedRFile.close() :module: cheroot.server Release resources allocated for ``rfile``. .. py:method:: ChunkedRFile.read(size=None) :module: cheroot.server Read a chunk from ``rfile`` buffer and return it. :param size: amount of data to read :type size: int :returns: chunk from ``rfile``, limited by size if specified :rtype: bytes .. py:method:: ChunkedRFile.read_trailer_lines() :module: cheroot.server Read HTTP headers and yield them. Returns: Generator: yields CRLF separated lines. .. py:method:: ChunkedRFile.readline(size=None) :module: cheroot.server Read a single line from ``rfile`` buffer and return it. :param size: minimum amount of data to read :type size: int :returns: one line from ``rfile`` :rtype: bytes .. py:method:: ChunkedRFile.readlines(sizehint=0) :module: cheroot.server Read all lines from ``rfile`` buffer and return them. :param sizehint: hint of minimum amount of data to read :type sizehint: int :returns: lines of bytes read from ``rfile`` :rtype: list[bytes] .. py:class:: DropUnderscoreHeaderReader() :module: cheroot.server Bases: :py:class:`cheroot.server.HeaderReader` Custom HeaderReader to exclude any headers with underscores in them. .. py:method:: DropUnderscoreHeaderReader._allow_header(key_name) :module: cheroot.server .. py:class:: Gateway(req) :module: cheroot.server Bases: :py:class:`object` Base class to interface HTTPServer with other systems, such as WSGI. .. py:method:: Gateway.respond() :module: cheroot.server Process the current request. Must be overridden in a subclass. .. py:class:: HTTPConnection(server, sock, makefile=) :module: cheroot.server Bases: :py:class:`object` An HTTP connection (active socket). .. py:attribute:: HTTPConnection.RequestHandlerClass :module: cheroot.server alias of :py:class:`cheroot.server.HTTPRequest` .. py:method:: HTTPConnection._close_kernel_socket() :module: cheroot.server Terminate the connection at the transport level. .. py:method:: HTTPConnection._conditional_error(req, response) :module: cheroot.server Respond with an error. Don't bother writing if a response has already started being written. .. py:method:: HTTPConnection._handle_no_ssl(req) :module: cheroot.server .. py:method:: HTTPConnection.close() :module: cheroot.server Close the socket underlying this connection. .. py:method:: HTTPConnection.communicate() :module: cheroot.server Read each request and respond appropriately. Returns true if the connection should be kept open. .. py:method:: HTTPConnection.get_peer_creds() :module: cheroot.server Return the PID/UID/GID tuple of the peer socket for UNIX sockets. This function uses SO_PEERCRED to query the UNIX PID, UID, GID of the peer, which is only available if the bind address is a UNIX domain socket. Raises: NotImplementedError: in case of unsupported socket type RuntimeError: in case of SO_PEERCRED lookup unsupported or disabled .. py:attribute:: HTTPConnection.last_used :module: cheroot.server :value: None .. py:attribute:: HTTPConnection.linger :module: cheroot.server :value: False .. py:property:: HTTPConnection.peer_gid :module: cheroot.server Return the group id of the connected peer process. .. py:property:: HTTPConnection.peer_group :module: cheroot.server Return the group of the connected peer process. .. py:property:: HTTPConnection.peer_pid :module: cheroot.server Return the id of the connected peer process. .. py:property:: HTTPConnection.peer_uid :module: cheroot.server Return the user id of the connected peer process. .. py:property:: HTTPConnection.peer_user :module: cheroot.server Return the username of the connected peer process. .. py:attribute:: HTTPConnection.peercreds_enabled :module: cheroot.server :value: False .. py:attribute:: HTTPConnection.peercreds_resolve_enabled :module: cheroot.server :value: False .. py:attribute:: HTTPConnection.rbufsize :module: cheroot.server :value: 8192 .. py:attribute:: HTTPConnection.remote_addr :module: cheroot.server :value: None .. py:attribute:: HTTPConnection.remote_port :module: cheroot.server :value: None .. py:method:: HTTPConnection.resolve_peer_creds() :module: cheroot.server Look up the username and group tuple of the ``PEERCREDS``. :returns: the username and group tuple of the ``PEERCREDS`` :raises NotImplementedError: if the OS is unsupported :raises RuntimeError: if UID/GID lookup is unsupported or disabled .. py:attribute:: HTTPConnection.ssl_env :module: cheroot.server :value: None .. py:attribute:: HTTPConnection.wbufsize :module: cheroot.server :value: 8192 .. py:class:: HTTPRequest(server, conn, proxy_mode=False, strict_mode=True) :module: cheroot.server Bases: :py:class:`object` An HTTP Request (and response). A single HTTP connection may consist of multiple request/response pairs. .. py:attribute:: HTTPRequest.chunked_write :module: cheroot.server :value: False If True, output will be encoded with the "chunked" transfer-coding. This value is set automatically inside send_headers. .. py:attribute:: HTTPRequest.close_connection :module: cheroot.server :value: False Signals the calling Connection that the request should close. This does not imply an error! The client and/or server may each request that the connection be closed. .. py:attribute:: HTTPRequest.conn :module: cheroot.server :value: None The HTTPConnection object on which this request connected. .. py:method:: HTTPRequest.ensure_headers_sent() :module: cheroot.server Ensure headers are sent to the client if not already sent. .. py:attribute:: HTTPRequest.header_reader :module: cheroot.server :value: A HeaderReader instance or compatible reader. .. py:attribute:: HTTPRequest.inheaders :module: cheroot.server :value: {} A dict of request headers. .. py:attribute:: HTTPRequest.outheaders :module: cheroot.server :value: [] A list of header tuples to write in the response. .. py:method:: HTTPRequest.parse_request() :module: cheroot.server Parse the next HTTP request start-line and message-headers. .. py:method:: HTTPRequest.read_request_headers() :module: cheroot.server Read ``self.rfile`` into ``self.inheaders``. Ref: :py:attr:`self.inheaders `. :returns: success status :rtype: bool .. py:method:: HTTPRequest.read_request_line() :module: cheroot.server Read and parse first line of the HTTP request. Returns: bool: True if the request line is valid or False if it's malformed. .. py:attribute:: HTTPRequest.ready :module: cheroot.server :value: False When True, the request has been parsed and is ready to begin generating the response. When False, signals the calling Connection that the response should not be generated and the connection should close. .. py:method:: HTTPRequest.respond() :module: cheroot.server Call the gateway and write its iterable output. .. py:method:: HTTPRequest.send_headers() :module: cheroot.server Assert, process, and send the HTTP response message-headers. You must set ``self.status``, and :py:attr:`self.outheaders ` before calling this. .. py:attribute:: HTTPRequest.server :module: cheroot.server :value: None The HTTPServer object which is receiving this request. .. py:method:: HTTPRequest.simple_response(status, msg='') :module: cheroot.server Write a simple response back to the client. .. py:method:: HTTPRequest.write(chunk) :module: cheroot.server Write unbuffered data to the client. .. py:class:: HTTPServer(bind_addr, gateway, minthreads=10, maxthreads=-1, server_name=None, peercreds_enabled=False, peercreds_resolve_enabled=False) :module: cheroot.server Bases: :py:class:`object` An HTTP server. .. py:attribute:: HTTPServer.ConnectionClass :module: cheroot.server The class to use for handling HTTP connections. alias of :py:class:`cheroot.server.HTTPConnection` .. py:attribute:: HTTPServer._bind_addr :module: cheroot.server :value: '127.0.0.1' .. py:attribute:: HTTPServer._interrupt :module: cheroot.server :value: None .. py:method:: HTTPServer._run_in_thread() :module: cheroot.server Context manager for running this server in a thread. .. py:property:: HTTPServer._stopping_for_interrupt :module: cheroot.server Return whether the server is responding to an interrupt. .. py:method:: HTTPServer.bind(family, type, proto=0) :module: cheroot.server Create (or recreate) the actual socket object. .. py:property:: HTTPServer.bind_addr :module: cheroot.server Return the interface on which to listen for connections. For TCP sockets, a (host, port) tuple. Host values may be any :term:`IPv4` or :term:`IPv6` address, or any valid hostname. The string 'localhost' is a synonym for '127.0.0.1' (or '::1', if your hosts file prefers :term:`IPv6`). The string '0.0.0.0' is a special :term:`IPv4` entry meaning "any active interface" (INADDR_ANY), and '::' is the similar IN6ADDR_ANY for :term:`IPv6`. The empty string or :py:data:`None` are not allowed. For UNIX sockets, supply the file name as a string. Systemd socket activation is automatic and doesn't require tempering with this variable. .. glossary:: :abbr:`IPv4 (Internet Protocol version 4)` Internet Protocol version 4 :abbr:`IPv6 (Internet Protocol version 6)` Internet Protocol version 6 .. py:method:: HTTPServer.bind_socket(socket_, bind_addr) :module: cheroot.server :staticmethod: Bind the socket to given interface. .. py:method:: HTTPServer.bind_unix_socket(bind_addr) :module: cheroot.server Create (or recreate) a UNIX socket object. .. py:property:: HTTPServer.can_add_keepalive_connection :module: cheroot.server Flag whether it is allowed to add a new keep-alive connection. .. py:method:: HTTPServer.clear_stats() :module: cheroot.server Reset server stat counters.. .. py:method:: HTTPServer.error_log(msg='', level=20, traceback=False) :module: cheroot.server Write error message to log. Args: msg (str): error message level (int): logging level traceback (bool): add traceback to output or not .. py:attribute:: HTTPServer.expiration_interval :module: cheroot.server :value: 0.5 The interval, in seconds, at which the server checks for expired connections (default 0.5). .. py:attribute:: HTTPServer.gateway :module: cheroot.server :value: None A Gateway instance. .. py:property:: HTTPServer.interrupt :module: cheroot.server Flag interrupt of the server. .. py:attribute:: HTTPServer.keep_alive_conn_limit :module: cheroot.server :value: 10 The maximum number of waiting keep-alive connections that will be kept open. Default is 10. Set to None to have unlimited connections. .. py:attribute:: HTTPServer.max_request_body_size :module: cheroot.server :value: 0 The maximum size, in bytes, for request bodies, or 0 for no limit. .. py:attribute:: HTTPServer.max_request_header_size :module: cheroot.server :value: 0 The maximum size, in bytes, for request headers, or 0 for no limit. .. py:attribute:: HTTPServer.maxthreads :module: cheroot.server :value: None The maximum number of worker threads to create. (default -1 = no limit) .. py:attribute:: HTTPServer.minthreads :module: cheroot.server :value: None The minimum number of worker threads to create (default 10). .. py:attribute:: HTTPServer.nodelay :module: cheroot.server :value: True If True (the default since 3.1), sets the TCP_NODELAY socket option. .. py:attribute:: HTTPServer.peercreds_enabled :module: cheroot.server :value: False If :py:data:`True`, peer creds will be looked up via UNIX domain socket. .. py:attribute:: HTTPServer.peercreds_resolve_enabled :module: cheroot.server :value: False If :py:data:`True`, username/group will be looked up in the OS from ``PEERCREDS``-provided IDs. .. py:method:: HTTPServer.prepare() :module: cheroot.server Prepare server to serving requests. It binds a socket's port, setups the socket to ``listen()`` and does other preparing things. .. py:method:: HTTPServer.prepare_socket(bind_addr, family, type, proto, nodelay, ssl_adapter) :module: cheroot.server :staticmethod: Create and prepare the socket object. .. py:method:: HTTPServer.process_conn(conn) :module: cheroot.server Process an incoming HTTPConnection. .. py:attribute:: HTTPServer.protocol :module: cheroot.server :value: 'HTTP/1.1' The version string to write in the Status-Line of all HTTP responses. For example, "HTTP/1.1" is the default. This also limits the supported features used in the response. .. py:method:: HTTPServer.put_conn(conn) :module: cheroot.server Put an idle connection back into the ConnectionManager. .. py:attribute:: HTTPServer.ready :module: cheroot.server :value: False Internal flag which indicating the socket is accepting connections. .. py:attribute:: HTTPServer.request_queue_size :module: cheroot.server :value: 5 The 'backlog' arg to socket.listen(); max queued connections. (default 5). .. py:method:: HTTPServer.resolve_real_bind_addr(socket_) :module: cheroot.server :staticmethod: Retrieve actual bind address from bound socket. .. py:method:: HTTPServer.runtime() :module: cheroot.server Return server uptime. .. py:method:: HTTPServer.safe_start() :module: cheroot.server Run the server forever, and stop it cleanly on exit. .. py:method:: HTTPServer.serve() :module: cheroot.server Serve requests, after invoking :func:`prepare()`. .. py:attribute:: HTTPServer.server_name :module: cheroot.server :value: None The name of the server; defaults to ``self.version``. .. py:attribute:: HTTPServer.shutdown_timeout :module: cheroot.server :value: 5 The total time to wait for worker threads to cleanly exit. Specified in seconds. .. py:attribute:: HTTPServer.software :module: cheroot.server :value: None The value to set for the SERVER_SOFTWARE entry in the WSGI environ. If None, this defaults to ``'%s Server' % self.version``. .. py:attribute:: HTTPServer.ssl_adapter :module: cheroot.server :value: None An instance of ``ssl.Adapter`` (or a subclass). Ref: :py:class:`ssl.Adapter `. You must have the corresponding TLS driver library installed. .. py:method:: HTTPServer.start() :module: cheroot.server Run the server forever. It is shortcut for invoking :func:`prepare()` then :func:`serve()`. .. py:method:: HTTPServer.stop() :module: cheroot.server Gracefully shutdown a server that is serving forever. .. py:attribute:: HTTPServer.timeout :module: cheroot.server :value: 10 The timeout in seconds for accepted connections (default 10). .. py:attribute:: HTTPServer.version :module: cheroot.server :value: 'Cheroot/8.6.0' A version string for the HTTPServer. .. py:class:: HeaderReader() :module: cheroot.server Bases: :py:class:`object` Object for reading headers from an HTTP request. Interface and default implementation. .. py:method:: HeaderReader._allow_header(key_name) :module: cheroot.server .. py:method:: HeaderReader._transform_key(key_name) :module: cheroot.server .. py:class:: KnownLengthRFile(rfile, content_length) :module: cheroot.server Bases: :py:class:`object` Wraps a file-like object, returning an empty string when exhausted. :param rfile: ``file`` of a known size :param int content_length: length of the file being read .. py:method:: KnownLengthRFile.close() :module: cheroot.server Release resources allocated for ``rfile``. .. py:method:: KnownLengthRFile.next() :module: cheroot.server Generate next file chunk. .. py:method:: KnownLengthRFile.read(size=None) :module: cheroot.server Read a chunk from ``rfile`` buffer and return it. :param size: amount of data to read :type size: int :rtype: bytes :returns: chunk from ``rfile``, limited by size if specified .. py:method:: KnownLengthRFile.readline(size=None) :module: cheroot.server Read a single line from ``rfile`` buffer and return it. :param size: minimum amount of data to read :type size: int :returns: one line from ``rfile`` :rtype: bytes .. py:method:: KnownLengthRFile.readlines(sizehint=0) :module: cheroot.server Read all lines from ``rfile`` buffer and return them. :param sizehint: hint of minimum amount of data to read :type sizehint: int :returns: lines of bytes read from ``rfile`` :rtype: list[bytes] .. py:class:: SizeCheckWrapper(rfile, maxlen) :module: cheroot.server Bases: :py:class:`object` Wraps a file-like object, raising MaxSizeExceeded if too large. :param rfile: ``file`` of a limited size :param int maxlen: maximum length of the file being read .. py:method:: SizeCheckWrapper._check_length() :module: cheroot.server .. py:method:: SizeCheckWrapper.close() :module: cheroot.server Release resources allocated for ``rfile``. .. py:method:: SizeCheckWrapper.next() :module: cheroot.server Generate next file chunk. .. py:method:: SizeCheckWrapper.read(size=None) :module: cheroot.server Read a chunk from ``rfile`` buffer and return it. :param size: amount of data to read :type size: int :returns: chunk from ``rfile``, limited by size if specified :rtype: bytes .. py:method:: SizeCheckWrapper.readline(size=None) :module: cheroot.server Read a single line from ``rfile`` buffer and return it. :param size: minimum amount of data to read :type size: int :returns: one line from ``rfile`` :rtype: bytes .. py:method:: SizeCheckWrapper.readlines(sizehint=0) :module: cheroot.server Read all lines from ``rfile`` buffer and return them. :param sizehint: hint of minimum amount of data to read :type sizehint: int :returns: lines of bytes read from ``rfile`` :rtype: list[bytes] .. py:function:: get_ssl_adapter_class(name='builtin') :module: cheroot.server Return an SSL adapter class for the given name. [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'property', ...>) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'function', >) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return type [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Returns: [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return type [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return type [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Raises: [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Raises [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return type [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Returns: [i18n] PATCH: 'docutils.nodes.term' to have rawsource: IP... [i18n] PATCH: 'docutils.nodes.term' to have rawsource: IP... [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Args: [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return type [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return type [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return type [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return type [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return type [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Returns [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Return type [app] emitting event: 'doctree-read'(>,) reading sources... [ 37%] pkg/cheroot.ssl [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.ssl') [app] emitting event: 'source-read'('pkg/cheroot.ssl', ['cheroot.ssl package\n===================\n\nSubmodules\n----------\n\n.. toctr [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.ssl.rst:16: input: .. automodule:: cheroot.ssl :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.ssl [autodoc] import cheroot.ssl => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.ssl', , False, {'members': , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': , False, {'members': [autodoc] getattr(_, 'ABCMeta') [autodoc] => [autodoc] from cheroot.ssl import Adapter [autodoc] import cheroot.ssl => [autodoc] getattr(_, 'Adapter') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.ssl.Adapter', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': [autodoc] getattr(_, 'Adapter') [autodoc] => [autodoc] getattr(_, '_abc_impl') [autodoc] => <_abc._abc_data object at 0x7f2cf4fdf680> [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.Adapter._abc_impl', <_abc._abc_data object at 0x7f2cf4fdf680>, {'members' [autodoc] from cheroot.ssl import Adapter.bind [autodoc] import cheroot.ssl => [autodoc] getattr(_, 'Adapter') [autodoc] => [autodoc] getattr(_, 'bind') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.Adapter.bind', , {'members': , {'members': [autodoc] getattr(_, 'Adapter') [autodoc] => [autodoc] getattr(_, 'get_environ') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.Adapter.get_environ', , {'me [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.ssl.Adapter.get_environ', , {'me [autodoc] from cheroot.ssl import Adapter.makefile [autodoc] import cheroot.ssl => [autodoc] getattr(_, 'Adapter') [autodoc] => [autodoc] getattr(_, 'makefile') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.Adapter.makefile', , {'members' [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.ssl.Adapter.makefile', , {'members' [autodoc] from cheroot.ssl import Adapter.wrap [autodoc] import cheroot.ssl => [autodoc] getattr(_, 'Adapter') [autodoc] => [autodoc] getattr(_, 'wrap') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.Adapter.wrap', , {'members': , {'members': [autodoc] getattr(_, 'abstractmethod') [autodoc] => [autodoc] from cheroot.ssl import add_metaclass [autodoc] import cheroot.ssl => [autodoc] getattr(_, 'add_metaclass') [autodoc] => [autodoc] output: .. py:module:: cheroot.ssl Implementation of the SSL adapter base interface. .. py:class:: Adapter(certificate, private_key, certificate_chain=None, ciphers=None) :module: cheroot.ssl Bases: :py:class:`object` Base class for SSL driver library adapters. Required methods: * ``wrap(sock) -> (wrapped socket, ssl environ dict)`` * ``makefile(sock, mode='r', bufsize=DEFAULT_BUFFER_SIZE) -> socket file object`` .. py:attribute:: Adapter._abc_impl :module: cheroot.ssl :value: <_abc._abc_data object> .. py:method:: Adapter.bind(sock) :module: cheroot.ssl :abstractmethod: Wrap and return the given socket. .. py:method:: Adapter.get_environ() :module: cheroot.ssl :abstractmethod: Return WSGI environ entries to be merged into each request. .. py:method:: Adapter.makefile(sock, mode='r', bufsize=-1) :module: cheroot.ssl :abstractmethod: Return socket file object. .. py:method:: Adapter.wrap(sock) :module: cheroot.ssl :abstractmethod: Wrap and return the given socket, plus WSGI environ entries. [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'doctree-read'(>,) reading sources... [ 40%] pkg/cheroot.ssl.builtin [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.ssl.builtin') [app] emitting event: 'source-read'('pkg/cheroot.ssl.builtin', ['cheroot.ssl.builtin module\n==========================\n\n.. automodul [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.ssl.builtin.rst:4: input: .. automodule:: cheroot.ssl.builtin :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.ssl.builtin [autodoc] import cheroot.ssl.builtin => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.ssl.builtin', , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'DEFAULT_BUFFER_SIZE', 8192, False, {'members': , False, {'members': , False, {'members': , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, [app] emitting event: 'autodoc-skip-member'('module', '_loopback_for_cert', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', '_loopback_for_cert_thread', , Fals [app] emitting event: 'autodoc-skip-member'('module', '_parse_cert', , False, {'members': , False, {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'socket', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'mem [autodoc] from cheroot.ssl.builtin import Adapter [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, 'Adapter') [autodoc] => [autodoc] from cheroot.ssl.builtin import BuiltinSSLAdapter [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.ssl.builtin.BuiltinSSLAdapter', , [app] emitting event: 'autodoc-process-bases'('cheroot.ssl.builtin.BuiltinSSLAdapter', , {'members [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.ssl.builtin.BuiltinSSLAdapter', , [app] emitting event: 'autodoc-skip-member'('class', 'CERT_KEY_TO_ENV', {'version': 'M_VERSION', 'serialNumber': 'M_SERIAL', 'notBefore': 'V_ST [app] emitting event: 'autodoc-skip-member'('class', 'CERT_KEY_TO_LDAP_CODE', {'countryName': 'C', 'stateOrProvinceName': 'ST', 'localityName': [app] emitting event: 'autodoc-skip-member'('class', '__abstractmethods__', frozenset(), True, {'members': , True, {'members': , False, {'members': , [app] emitting event: 'autodoc-skip-member'('class', '_make_env_dn_dict', , Fal [app] emitting event: 'autodoc-skip-member'('class', '_make_env_san_dict', , F [app] emitting event: 'autodoc-skip-member'('class', 'bind', , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'certificate_chain', None, False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('class', 'context', , False, {'members': , False, {'member [app] emitting event: 'autodoc-skip-member'('class', 'makefile', , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'wrap', , False, {'members': [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, 'CERT_KEY_TO_ENV') [autodoc] => {'version': 'M_VERSION', 'serialNumber': 'M_SERIAL', 'notBefore': 'V_START', 'notAfter': 'V_END', 'subject': 'S_DN', 'issuer': 'I_DN', 'subjectAltName': 'SAN'} [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.builtin.BuiltinSSLAdapter.CERT_KEY_TO_ENV', {'version': 'M_VERSION', 'ser [autodoc] from cheroot.ssl.builtin import BuiltinSSLAdapter.CERT_KEY_TO_LDAP_CODE [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, 'CERT_KEY_TO_LDAP_CODE') [autodoc] => {'countryName': 'C', 'stateOrProvinceName': 'ST', 'localityName': 'L', 'organizationName': 'O', 'organizationalUnitName': 'OU', 'commonName': 'CN', 'title': 'T', 'initials': 'I', 'givenName': 'G', 'surname': 'S', 'description': 'D', 'userid': 'UID', 'emailAddress': 'Email'} [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.builtin.BuiltinSSLAdapter.CERT_KEY_TO_LDAP_CODE', {'countryName': 'C', 's [autodoc] from cheroot.ssl.builtin import BuiltinSSLAdapter._abc_impl [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, '_abc_impl') [autodoc] => <_abc._abc_data object at 0x7f2cf4ea05c0> [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.builtin.BuiltinSSLAdapter._abc_impl', <_abc._abc_data object at 0x7f2cf4e [autodoc] from cheroot.ssl.builtin import BuiltinSSLAdapter._make_env_cert_dict [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, '_make_env_cert_dict') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.builtin.BuiltinSSLAdapter._make_env_cert_dict', [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, '_make_env_dn_dict') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.builtin.BuiltinSSLAdapter._make_env_dn_dict', [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, '_make_env_san_dict') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.builtin.BuiltinSSLAdapter._make_env_san_dict', [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, 'bind') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.builtin.BuiltinSSLAdapter.bind', [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, 'certificate') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.builtin.BuiltinSSLAdapter.certificate', None, {'members': [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, 'certificate_chain') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.builtin.BuiltinSSLAdapter.certificate_chain', None, {'members': [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, 'ciphers') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.builtin.BuiltinSSLAdapter.ciphers', None, {'members': [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, 'context') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.ssl.builtin.BuiltinSSLAdapter.context', , { [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.ssl.builtin.BuiltinSSLAdapter.context', , { [autodoc] from cheroot.ssl.builtin import BuiltinSSLAdapter.get_environ [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, 'get_environ') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.builtin.BuiltinSSLAdapter.get_environ', [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, 'makefile') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.builtin.BuiltinSSLAdapter.makefile', [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, 'private_key') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.builtin.BuiltinSSLAdapter.private_key', None, {'members': [autodoc] getattr(_, 'BuiltinSSLAdapter') [autodoc] => [autodoc] getattr(_, 'wrap') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.builtin.BuiltinSSLAdapter.wrap', [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] from cheroot.ssl.builtin import StreamReader [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, 'StreamReader') [autodoc] => [autodoc] from cheroot.ssl.builtin import StreamWriter [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, 'StreamWriter') [autodoc] => [autodoc] from cheroot.ssl.builtin import _assert_ssl_exc_contains [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, '_assert_ssl_exc_contains') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.ssl.builtin._assert_ssl_exc_contains', [autodoc] getattr(_, '_loopback_for_cert') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.ssl.builtin._loopback_for_cert', [autodoc] getattr(_, '_loopback_for_cert_thread') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.ssl.builtin._loopback_for_cert_thread', [autodoc] getattr(_, '_parse_cert') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.ssl.builtin._parse_cert', , {'members' [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.ssl.builtin._parse_cert', , {'members' [autodoc] from cheroot.ssl.builtin import _sni_callback [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, '_sni_callback') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.ssl.builtin._sni_callback', , {'memb [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.ssl.builtin._sni_callback', , {'memb [autodoc] from cheroot.ssl.builtin import generic_socket_error [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, 'generic_socket_error') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [autodoc] from cheroot.ssl.builtin import suppress [autodoc] import cheroot.ssl.builtin => [autodoc] getattr(_, 'suppress') [autodoc] => [autodoc] output: .. py:module:: cheroot.ssl.builtin A library for integrating Python's builtin :py:mod:`ssl` library with Cheroot. The :py:mod:`ssl` module must be importable for SSL functionality. To use this module, set ``HTTPServer.ssl_adapter`` to an instance of ``BuiltinSSLAdapter``. .. py:class:: BuiltinSSLAdapter(certificate, private_key, certificate_chain=None, ciphers=None) :module: cheroot.ssl.builtin Bases: :py:class:`cheroot.ssl.Adapter` Wrapper for integrating Python's builtin :py:mod:`ssl` with Cheroot. .. py:attribute:: BuiltinSSLAdapter.CERT_KEY_TO_ENV :module: cheroot.ssl.builtin :value: {'issuer': 'I_DN', 'notAfter': 'V_END', 'notBefore': 'V_START', 'serialNumber': 'M_SERIAL', 'subject': 'S_DN', 'subjectAltName': 'SAN', 'version': 'M_VERSION'} .. py:attribute:: BuiltinSSLAdapter.CERT_KEY_TO_LDAP_CODE :module: cheroot.ssl.builtin :value: {'commonName': 'CN', 'countryName': 'C', 'description': 'D', 'emailAddress': 'Email', 'givenName': 'G', 'initials': 'I', 'localityName': 'L', 'organizationName': 'O', 'organizationalUnitName': 'OU', 'stateOrProvinceName': 'ST', 'surname': 'S', 'title': 'T', 'userid': 'UID'} .. py:attribute:: BuiltinSSLAdapter._abc_impl :module: cheroot.ssl.builtin :value: <_abc._abc_data object> .. py:method:: BuiltinSSLAdapter._make_env_cert_dict(env_prefix, parsed_cert) :module: cheroot.ssl.builtin Return a dict of WSGI environment variables for a certificate. E.g. SSL_CLIENT_M_VERSION, SSL_CLIENT_M_SERIAL, etc. See https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#envvars. .. py:method:: BuiltinSSLAdapter._make_env_dn_dict(env_prefix, cert_value) :module: cheroot.ssl.builtin Return a dict of WSGI environment variables for a certificate DN. E.g. SSL_CLIENT_S_DN_CN, SSL_CLIENT_S_DN_C, etc. See SSL_CLIENT_S_DN_x509 at https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#envvars. .. py:method:: BuiltinSSLAdapter._make_env_san_dict(env_prefix, cert_value) :module: cheroot.ssl.builtin Return a dict of WSGI environment variables for a certificate DN. E.g. SSL_CLIENT_SAN_Email_0, SSL_CLIENT_SAN_DNS_0, etc. See SSL_CLIENT_SAN_* at https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#envvars. .. py:method:: BuiltinSSLAdapter.bind(sock) :module: cheroot.ssl.builtin Wrap and return the given socket. .. py:attribute:: BuiltinSSLAdapter.certificate :module: cheroot.ssl.builtin :value: None The file name of the server SSL certificate. .. py:attribute:: BuiltinSSLAdapter.certificate_chain :module: cheroot.ssl.builtin :value: None The file name of the certificate chain file. .. py:attribute:: BuiltinSSLAdapter.ciphers :module: cheroot.ssl.builtin :value: None The ciphers list of SSL. .. py:property:: BuiltinSSLAdapter.context :module: cheroot.ssl.builtin :py:class:`~ssl.SSLContext` that will be used to wrap sockets. .. py:method:: BuiltinSSLAdapter.get_environ(sock) :module: cheroot.ssl.builtin Create WSGI environ entries to be merged into each request. .. py:method:: BuiltinSSLAdapter.makefile(sock, mode='r', bufsize=8192) :module: cheroot.ssl.builtin Return socket file object. .. py:attribute:: BuiltinSSLAdapter.private_key :module: cheroot.ssl.builtin :value: None The file name of the server's private key file. .. py:method:: BuiltinSSLAdapter.wrap(sock) :module: cheroot.ssl.builtin Wrap and return the given socket, plus WSGI environ entries. .. py:function:: _assert_ssl_exc_contains(exc, *msgs) :module: cheroot.ssl.builtin Check whether SSL exception contains either of messages provided. .. py:function:: _loopback_for_cert(certificate, private_key, certificate_chain) :module: cheroot.ssl.builtin Create a loopback connection to parse a cert with a private key. .. py:function:: _loopback_for_cert_thread(context, server) :module: cheroot.ssl.builtin Wrap a socket in ssl and perform the server-side handshake. .. py:function:: _parse_cert(certificate, private_key, certificate_chain) :module: cheroot.ssl.builtin Parse a certificate. .. py:function:: _sni_callback(sock, sni, context) :module: cheroot.ssl.builtin Handle the SNI callback to tag the socket with the SNI. [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 42%] pkg/cheroot.ssl.pyopenssl [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.ssl.pyopenssl') [app] emitting event: 'source-read'('pkg/cheroot.ssl.pyopenssl', ['cheroot.ssl.pyopenssl module\n============================\n\n.. aut [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.ssl.pyopenssl.rst:4: input: .. automodule:: cheroot.ssl.pyopenssl :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.ssl.pyopenssl [autodoc] import cheroot.ssl.pyopenssl => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.ssl.pyopenssl', , False, {'members': , Fa [app] emitting event: 'autodoc-skip-member'('module', 'SSLConnection', , False, {'members': , False, [app] emitting event: 'autodoc-skip-member'('module', 'SSLFileobjectMixin', , False, {'member [app] emitting event: 'autodoc-skip-member'('module', 'SSLFileobjectStreamReader', , F [app] emitting event: 'autodoc-skip-member'('module', 'SSLFileobjectStreamWriter', , F [app] emitting event: 'autodoc-skip-member'('module', 'StreamReader', , False, {'members': , False, {'members': ` with Cheroot.\ [app] emitting event: 'autodoc-skip-member'('module', '__file__', '/home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/pyopenssl.py', True, [app] emitting event: 'autodoc-skip-member'('module', '__loader__', <_frozen_importlib_external.SourceFileLoader object at 0x7f2cf4918eb0>, Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'six', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'socket', , False, {'members': , False, {'members': , False, {'members': , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'time', , False, {'members': [autodoc] getattr(_, 'Adapter') [autodoc] => [autodoc] from cheroot.ssl.pyopenssl import SSLConnection [autodoc] import cheroot.ssl.pyopenssl => [autodoc] getattr(_, 'SSLConnection') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.ssl.pyopenssl.SSLConnection', , {'me [app] emitting event: 'autodoc-process-bases'('cheroot.ssl.pyopenssl.SSLConnection', , {'members': < [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.ssl.pyopenssl.SSLConnection', , {'me [app] emitting event: 'autodoc-skip-member'('class', '__dict__', mappingproxy({'__module__': 'cheroot.ssl.pyopenssl', '__doc__': 'A thread-safe [app] emitting event: 'autodoc-skip-member'('class', '__doc__', 'A thread-safe wrapper for an ``SSL.Connection``.\n\n :param tuple args: the [app] emitting event: 'autodoc-skip-member'('class', '__init__', , True, {'members': , True, {'members': .lock_decorator..proxy_ [app] emitting event: 'autodoc-skip-member'('class', 'bind', .lock_decorator..proxy_wr [app] emitting event: 'autodoc-skip-member'('class', 'close', .lock_decorator..proxy_w [app] emitting event: 'autodoc-skip-member'('class', 'connect', .lock_decorator..proxy [app] emitting event: 'autodoc-skip-member'('class', 'connect_ex', .lock_decorator..pr [app] emitting event: 'autodoc-skip-member'('class', 'family', , False, {'members': .lock_decorator..proxy_ [app] emitting event: 'autodoc-skip-member'('class', 'get_app_data', .lock_decorator.. [app] emitting event: 'autodoc-skip-member'('class', 'get_cipher_list', .lock_decorator..lock_decorator..p [app] emitting event: 'autodoc-skip-member'('class', 'get_peer_certificate', .lock_decorator.< [app] emitting event: 'autodoc-skip-member'('class', 'getpeername', .lock_decorator..p [app] emitting event: 'autodoc-skip-member'('class', 'getsockname', .lock_decorator..p [app] emitting event: 'autodoc-skip-member'('class', 'getsockopt', .lock_decorator..pr [app] emitting event: 'autodoc-skip-member'('class', 'gettimeout', .lock_decorator..pr [app] emitting event: 'autodoc-skip-member'('class', 'listen', .lock_decorator..proxy_ [app] emitting event: 'autodoc-skip-member'('class', 'makefile', .lock_decorator..prox [app] emitting event: 'autodoc-skip-member'('class', 'pending', .lock_decorator..proxy [app] emitting event: 'autodoc-skip-member'('class', 'read', .lock_decorator..proxy_wr [app] emitting event: 'autodoc-skip-member'('class', 'recv', .lock_decorator..proxy_wr [app] emitting event: 'autodoc-skip-member'('class', 'renegotiate', .lock_decorator..p [app] emitting event: 'autodoc-skip-member'('class', 'send', .lock_decorator..proxy_wr [app] emitting event: 'autodoc-skip-member'('class', 'sendall', .lock_decorator..proxy [app] emitting event: 'autodoc-skip-member'('class', 'set_accept_state', .lock_decorator..lock_decorator.. [app] emitting event: 'autodoc-skip-member'('class', 'set_connect_state', .lock_decorator..lock_decorator..p [app] emitting event: 'autodoc-skip-member'('class', 'setsockopt', .lock_decorator..pr [app] emitting event: 'autodoc-skip-member'('class', 'settimeout', .lock_decorator..pr [app] emitting event: 'autodoc-skip-member'('class', 'shutdown', .lock_decorator..prox [app] emitting event: 'autodoc-skip-member'('class', 'sock_shutdown', .lock_decorator. [app] emitting event: 'autodoc-skip-member'('class', 'state_string', .lock_decorator.. [app] emitting event: 'autodoc-skip-member'('class', 'want_read', .lock_decorator..pro [app] emitting event: 'autodoc-skip-member'('class', 'want_write', .lock_decorator..pr [app] emitting event: 'autodoc-skip-member'('class', 'write', .lock_decorator..proxy_w [autodoc] from cheroot.ssl.pyopenssl import SSLConnection.accept [autodoc] import cheroot.ssl.pyopenssl => [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'accept') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b520> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.accept', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'bind') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b370> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.bind', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'close') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b6d0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.close', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'connect') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b490> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.connect', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'connect_ex') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf44a0040> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.connect_ex', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'family') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.ssl.pyopenssl.SSLConnection.family', , {'me [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.ssl.pyopenssl.SSLConnection.family', , {'me [autodoc] from cheroot.ssl.pyopenssl import SSLConnection.fileno [autodoc] import cheroot.ssl.pyopenssl => [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'fileno') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b640> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.fileno', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'get_app_data') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449bac0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.get_app_data', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'get_cipher_list') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b760> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.get_cipher_list', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'get_context') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449af80> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.get_context', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'get_peer_certificate') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449bd00> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.get_peer_certificate', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'getpeername') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b7f0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.getpeername', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'getsockname') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b880> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.getsockname', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'getsockopt') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b910> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.getsockopt', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'gettimeout') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf44a01f0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.gettimeout', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'listen') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b400> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.listen', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'makefile') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449ba30> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.makefile', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'pending') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b010> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.pending', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'read') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b250> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.read', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'recv') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b1c0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.recv', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'renegotiate') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b2e0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.renegotiate', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'send') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b0a0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.send', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'sendall') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf44a00d0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.sendall', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'set_accept_state') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449bf40> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.set_accept_state', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'set_app_data') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449bb50> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.set_app_data', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'set_connect_state') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449beb0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.set_connect_state', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'setblocking') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b5b0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.setblocking', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'setsockopt') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b9a0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.setsockopt', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'settimeout') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf44a0160> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.settimeout', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'shutdown') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf44a0280> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.shutdown', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'sock_shutdown') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449bc70> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.sock_shutdown', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'state_string') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449bbe0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.state_string', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'want_read') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449bd90> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.want_read', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'want_write') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449be20> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.want_write', [autodoc] getattr(_, 'SSLConnection') [autodoc] => [autodoc] getattr(_, 'write') [autodoc] => .lock_decorator..proxy_wrapper at 0x7f2cf449b130> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0x7f2cf4 [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLConnection.write', [autodoc] getattr(_, 'SSLConnectionProxyMeta') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.ssl.pyopenssl.SSLConnectionProxyMeta', , True, {'members': [app] emitting event: 'autodoc-skip-member'('class', '__weakref__', , True, {'memb [autodoc] from cheroot.ssl.pyopenssl import SSLFileobjectMixin [autodoc] import cheroot.ssl.pyopenssl => [autodoc] getattr(_, 'SSLFileobjectMixin') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.ssl.pyopenssl.SSLFileobjectMixin', , {'m [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.ssl.pyopenssl.SSLFileobjectMixin', , True, {'members' [app] emitting event: 'autodoc-skip-member'('class', '_safe_call', , False, {'members [app] emitting event: 'autodoc-skip-member'('class', 'readline', , False, {'members': < [app] emitting event: 'autodoc-skip-member'('class', 'recv', , False, {'members': , False, {'members': , False, {'members': , [app] emitting event: 'autodoc-skip-member'('class', 'ssl_timeout', 3, False, {'members': , ' [autodoc] from cheroot.ssl.pyopenssl import SSLFileobjectMixin._safe_call [autodoc] import cheroot.ssl.pyopenssl => [autodoc] getattr(_, 'SSLFileobjectMixin') [autodoc] => [autodoc] getattr(_, '_safe_call') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLFileobjectMixin._safe_call', [autodoc] getattr(_, 'SSLFileobjectMixin') [autodoc] => [autodoc] getattr(_, 'readline') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLFileobjectMixin.readline', [autodoc] getattr(_, 'SSLFileobjectMixin') [autodoc] => [autodoc] getattr(_, 'recv') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLFileobjectMixin.recv', [autodoc] getattr(_, 'SSLFileobjectMixin') [autodoc] => [autodoc] getattr(_, 'send') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLFileobjectMixin.send', [autodoc] getattr(_, 'SSLFileobjectMixin') [autodoc] => [autodoc] getattr(_, 'sendall') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.SSLFileobjectMixin.sendall', [autodoc] getattr(_, 'SSLFileobjectMixin') [autodoc] => [autodoc] getattr(_, 'ssl_retry') [autodoc] => 0.01 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.pyopenssl.SSLFileobjectMixin.ssl_retry', 0.01, {'members': [autodoc] getattr(_, 'SSLFileobjectMixin') [autodoc] => [autodoc] getattr(_, 'ssl_timeout') [autodoc] => 3 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.pyopenssl.SSLFileobjectMixin.ssl_timeout', 3, {'members': [autodoc] getattr(_, 'SSLFileobjectStreamReader') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.ssl.pyopenssl.SSLFileobjectStreamReader', , False, {'members': [autodoc] getattr(_, 'SSLFileobjectStreamReader') [autodoc] => [autodoc] getattr(_, '_abc_impl') [autodoc] => <_abc._abc_data object at 0x7f2cf49a3340> [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.pyopenssl.SSLFileobjectStreamReader._abc_impl', <_abc._abc_data object at [autodoc] from cheroot.ssl.pyopenssl import SSLFileobjectStreamWriter [autodoc] import cheroot.ssl.pyopenssl => [autodoc] getattr(_, 'SSLFileobjectStreamWriter') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.ssl.pyopenssl.SSLFileobjectStreamWriter', , False, {'members': [autodoc] getattr(_, 'SSLFileobjectStreamWriter') [autodoc] => [autodoc] getattr(_, '_abc_impl') [autodoc] => <_abc._abc_data object at 0x7f2cf49a34c0> [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.pyopenssl.SSLFileobjectStreamWriter._abc_impl', <_abc._abc_data object at [autodoc] from cheroot.ssl.pyopenssl import StreamReader [autodoc] import cheroot.ssl.pyopenssl => [autodoc] getattr(_, 'StreamReader') [autodoc] => [autodoc] from cheroot.ssl.pyopenssl import StreamWriter [autodoc] import cheroot.ssl.pyopenssl => [autodoc] getattr(_, 'StreamWriter') [autodoc] => [autodoc] from cheroot.ssl.pyopenssl import pyOpenSSLAdapter [autodoc] import cheroot.ssl.pyopenssl => [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter', [app] emitting event: 'autodoc-process-bases'('cheroot.ssl.pyopenssl.pyOpenSSLAdapter', , {'membe [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter', [app] emitting event: 'autodoc-skip-member'('class', '__abstractmethods__', frozenset(), True, {'members': , True, {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'certificate_chain', None, False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('class', 'context', None, False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('class', 'get_context', , False, {'members [app] emitting event: 'autodoc-skip-member'('class', 'get_environ', , False, {'members [app] emitting event: 'autodoc-skip-member'('class', 'makefile', , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'wrap', , False, {'members': [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [autodoc] getattr(_, '_abc_impl') [autodoc] => <_abc._abc_data object at 0x7f2cf449cd00> [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter._abc_impl', <_abc._abc_data object at 0x7f2cf4 [autodoc] from cheroot.ssl.pyopenssl import pyOpenSSLAdapter.bind [autodoc] import cheroot.ssl.pyopenssl => [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [autodoc] getattr(_, 'bind') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter.bind', [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [autodoc] getattr(_, 'certificate') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter.certificate', None, {'members': [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [autodoc] getattr(_, 'certificate_chain') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter.certificate_chain', None, {'members': [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [autodoc] getattr(_, 'ciphers') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter.ciphers', None, {'members': [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [autodoc] getattr(_, 'context') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter.context', None, {'members': [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [autodoc] getattr(_, 'get_context') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter.get_context', [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [autodoc] getattr(_, 'get_environ') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter.get_environ', [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [autodoc] getattr(_, 'makefile') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter.makefile', [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [autodoc] getattr(_, 'private_key') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter.private_key', None, {'members': [autodoc] getattr(_, 'pyOpenSSLAdapter') [autodoc] => [autodoc] getattr(_, 'wrap') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter.wrap', [autodoc] getattr(_, 'ssl_conn_type') [autodoc] => [autodoc] output: .. py:module:: cheroot.ssl.pyopenssl A library for integrating :doc:`pyOpenSSL ` with Cheroot. The :py:mod:`OpenSSL ` module must be importable for SSL/TLS/HTTPS functionality. You can obtain it from `here `_. To use this module, set :py:attr:`HTTPServer.ssl_adapter ` to an instance of :py:class:`ssl.Adapter `. There are two ways to use :abbr:`TLS (Transport-Level Security)`: Method One ---------- * :py:attr:`ssl_adapter.context `: an instance of :py:class:`SSL.Context `. If this is not None, it is assumed to be an :py:class:`SSL.Context ` instance, and will be passed to :py:class:`SSL.Connection ` on bind(). The developer is responsible for forming a valid :py:class:`Context ` object. This approach is to be preferred for more flexibility, e.g. if the cert and key are streams instead of files, or need decryption, or :py:data:`SSL.SSLv3_METHOD ` is desired instead of the default :py:data:`SSL.SSLv23_METHOD `, etc. Consult the :doc:`pyOpenSSL ` documentation for complete options. Method Two (shortcut) --------------------- * :py:attr:`ssl_adapter.certificate `: the file name of the server's TLS certificate. * :py:attr:`ssl_adapter.private_key `: the file name of the server's private key file. Both are :py:data:`None` by default. If :py:attr:`ssl_adapter.context ` is :py:data:`None`, but ``.private_key`` and ``.certificate`` are both given and valid, they will be read, and the context will be automatically created from them. .. spelling:: pyopenssl .. py:class:: SSLConnection(*args) :module: cheroot.ssl.pyopenssl Bases: :py:class:`object` A thread-safe wrapper for an ``SSL.Connection``. :param tuple args: the arguments to create the wrapped \ :py:class:`SSL.Connection(*args) \ ` .. py:method:: SSLConnection.accept(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.bind(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.close(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.connect(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.connect_ex(*args) :module: cheroot.ssl.pyopenssl .. py:property:: SSLConnection.family :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.fileno(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.get_app_data(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.get_cipher_list(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.get_context(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.get_peer_certificate(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.getpeername(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.getsockname(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.getsockopt(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.gettimeout(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.listen(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.makefile(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.pending(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.read(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.recv(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.renegotiate(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.send(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.sendall(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.set_accept_state(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.set_app_data(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.set_connect_state(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.setblocking(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.setsockopt(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.settimeout(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.shutdown(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.sock_shutdown(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.state_string(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.want_read(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.want_write(*args) :module: cheroot.ssl.pyopenssl .. py:method:: SSLConnection.write(*args) :module: cheroot.ssl.pyopenssl .. py:class:: SSLConnectionProxyMeta(name, bases, nmspc) :module: cheroot.ssl.pyopenssl Bases: :py:class:`object` Metaclass for generating a bunch of proxy methods. .. py:class:: SSLFileobjectMixin() :module: cheroot.ssl.pyopenssl Bases: :py:class:`object` Base mixin for a TLS socket stream. .. py:method:: SSLFileobjectMixin._safe_call(is_reader, call, *args, **kwargs) :module: cheroot.ssl.pyopenssl Wrap the given call with TLS error-trapping. is_reader: if False EOF errors will be raised. If True, EOF errors will return "" (to emulate normal sockets). .. py:method:: SSLFileobjectMixin.readline(size=-1) :module: cheroot.ssl.pyopenssl Receive message of a size from the socket. Matches the following interface: https://docs.python.org/3/library/io.html#io.IOBase.readline .. py:method:: SSLFileobjectMixin.recv(size) :module: cheroot.ssl.pyopenssl Receive message of a size from the socket. .. py:method:: SSLFileobjectMixin.send(*args, **kwargs) :module: cheroot.ssl.pyopenssl Send some part of message to the socket. .. py:method:: SSLFileobjectMixin.sendall(*args, **kwargs) :module: cheroot.ssl.pyopenssl Send whole message to the socket. .. py:attribute:: SSLFileobjectMixin.ssl_retry :module: cheroot.ssl.pyopenssl :value: 0.01 .. py:attribute:: SSLFileobjectMixin.ssl_timeout :module: cheroot.ssl.pyopenssl :value: 3 .. py:class:: SSLFileobjectStreamReader(sock, mode='r', bufsize=8192) :module: cheroot.ssl.pyopenssl Bases: :py:class:`cheroot.ssl.pyopenssl.SSLFileobjectMixin`, :py:class:`cheroot.makefile.StreamReader` SSL file object attached to a socket object. .. py:attribute:: SSLFileobjectStreamReader._abc_impl :module: cheroot.ssl.pyopenssl :value: <_abc._abc_data object> .. py:class:: SSLFileobjectStreamWriter(sock, mode='w', bufsize=8192) :module: cheroot.ssl.pyopenssl Bases: :py:class:`cheroot.ssl.pyopenssl.SSLFileobjectMixin`, :py:class:`cheroot.makefile.StreamWriter` SSL file object attached to a socket object. .. py:attribute:: SSLFileobjectStreamWriter._abc_impl :module: cheroot.ssl.pyopenssl :value: <_abc._abc_data object> .. py:class:: pyOpenSSLAdapter(certificate, private_key, certificate_chain=None, ciphers=None) :module: cheroot.ssl.pyopenssl Bases: :py:class:`cheroot.ssl.Adapter` A wrapper for integrating pyOpenSSL with Cheroot. .. py:attribute:: pyOpenSSLAdapter._abc_impl :module: cheroot.ssl.pyopenssl :value: <_abc._abc_data object> .. py:method:: pyOpenSSLAdapter.bind(sock) :module: cheroot.ssl.pyopenssl Wrap and return the given socket. .. py:attribute:: pyOpenSSLAdapter.certificate :module: cheroot.ssl.pyopenssl :value: None The file name of the server's TLS certificate. .. py:attribute:: pyOpenSSLAdapter.certificate_chain :module: cheroot.ssl.pyopenssl :value: None Optional. The file name of CA's intermediate certificate bundle. This is needed for cheaper "chained root" TLS certificates, and should be left as :py:data:`None` if not required. .. py:attribute:: pyOpenSSLAdapter.ciphers :module: cheroot.ssl.pyopenssl :value: None The ciphers list of TLS. .. py:attribute:: pyOpenSSLAdapter.context :module: cheroot.ssl.pyopenssl :value: None An instance of :py:class:`SSL.Context `. .. py:method:: pyOpenSSLAdapter.get_context() :module: cheroot.ssl.pyopenssl Return an ``SSL.Context`` from self attributes. Ref: :py:class:`SSL.Context ` .. py:method:: pyOpenSSLAdapter.get_environ() :module: cheroot.ssl.pyopenssl Return WSGI environ entries to be merged into each request. .. py:method:: pyOpenSSLAdapter.makefile(sock, mode='r', bufsize=-1) :module: cheroot.ssl.pyopenssl Return socket file object. .. py:attribute:: pyOpenSSLAdapter.private_key :module: cheroot.ssl.pyopenssl :value: None The file name of the server's private key file. .. py:method:: pyOpenSSLAdapter.wrap(sock) :module: cheroot.ssl.pyopenssl Wrap and return the given socket, plus WSGI environ entries. Extending local dictionary for pkg/cheroot.ssl.pyopenssl with ['pyopenssl'] [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'property', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: Parameters [app] emitting event: 'doctree-read'(>,) reading sources... [ 45%] pkg/cheroot.test [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test') [app] emitting event: 'source-read'('pkg/cheroot.test', ['cheroot.test package\n====================\n\nSubmodules\n----------\n\n.. to [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.rst:28: input: .. automodule:: cheroot.test :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test [autodoc] import cheroot.test => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test', , Tru [app] emitting event: 'autodoc-skip-member'('module', '__name__', 'cheroot.test', True, {'members': >,) reading sources... [ 48%] pkg/cheroot.test._pytest_plugin [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test._pytest_plugin') [app] emitting event: 'source-read'('pkg/cheroot.test._pytest_plugin', ['cheroot.test.\\_pytest\\_plugin module\n====================== [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test._pytest_plugin.rst:4: input: .. automodule:: cheroot.test._pytest_plugin :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test._pytest_plugin [autodoc] import cheroot.test._pytest_plugin => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test._pytest_plugin', , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'pytest_load_initial_conftests', [autodoc] getattr(_, 'pytest_load_initial_conftests') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test._pytest_plugin.pytest_load_initial_conftests', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 51%] pkg/cheroot.test.conftest [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.conftest') [app] emitting event: 'source-read'('pkg/cheroot.test.conftest', ['cheroot.test.conftest module\n============================\n\n.. aut [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.conftest.rst:4: input: .. automodule:: cheroot.test.conftest :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.conftest [autodoc] import cheroot.test.conftest => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test.conftest', , False, {'members': , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': < [app] emitting event: 'autodoc-skip-member'('module', 'http_server', , False, {'members': , False, {'members': , False, {'members': , False, {'membe [app] emitting event: 'autodoc-skip-member'('module', 'print_function', _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 1048576), False, [app] emitting event: 'autodoc-skip-member'('module', 'pytest', , [app] emitting event: 'autodoc-skip-member'('module', 'threading', , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'time', , False, {'members': , False, {'members': , False, {'members': [autodoc] from cheroot.test.conftest import Gateway [autodoc] import cheroot.test.conftest => [autodoc] getattr(_, 'Gateway') [autodoc] => [autodoc] from cheroot.test.conftest import HTTPServer [autodoc] import cheroot.test.conftest => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] from cheroot.test.conftest import get_server_client [autodoc] import cheroot.test.conftest => [autodoc] getattr(_, 'get_server_client') [autodoc] => [autodoc] from cheroot.test.conftest import http_server [autodoc] import cheroot.test.conftest => [autodoc] getattr(_, 'http_server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.conftest.http_server', , {'member [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.conftest.http_server', , {'member [autodoc] from cheroot.test.conftest import make_http_server [autodoc] import cheroot.test.conftest => [autodoc] getattr(_, 'make_http_server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.conftest.make_http_server', [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.conftest.make_http_server', [autodoc] from cheroot.test.conftest import native_server [autodoc] import cheroot.test.conftest => [autodoc] getattr(_, 'native_server') [autodoc] => [autodoc] from cheroot.test.conftest import native_server_client [autodoc] import cheroot.test.conftest => [autodoc] getattr(_, 'native_server_client') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.conftest.native_server_client', [autodoc] getattr(_, 'wsgi_server') [autodoc] => [autodoc] from cheroot.test.conftest import wsgi_server_client [autodoc] import cheroot.test.conftest => [autodoc] getattr(_, 'wsgi_server_client') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.conftest.wsgi_server_client', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 54%] pkg/cheroot.test.helper [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.helper') [app] emitting event: 'source-read'('pkg/cheroot.test.helper', ['cheroot.test.helper module\n==========================\n\n.. automodul [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.helper.rst:4: input: .. automodule:: cheroot.test.helper :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.helper [autodoc] import cheroot.test.helper => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test.helper', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'member [app] emitting event: 'autodoc-skip-member'('module', 'division', _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 131072), False, {'memb [app] emitting event: 'autodoc-skip-member'('module', 'http_client', , False, {'members': , False, {' [app] emitting event: 'autodoc-skip-member'('module', 'os', , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'sys', , False, {'members': , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'time', , False, {'members': , False, {'members': [autodoc] getattr(_, 'CherootWebCase') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.test.helper.CherootWebCase', , {'memb [app] emitting event: 'autodoc-process-bases'('cheroot.test.helper.CherootWebCase', , {'members': , {'memb [app] emitting event: 'autodoc-skip-member'('class', '__doc__', 'Helper class for a web app test suite.', True, {'members': , False, { [app] emitting event: 'autodoc-skip-member'('class', 'available_servers', {'wsgi': , 'native': [app] emitting event: 'autodoc-skip-member'('class', 'scheme', 'http', False, {'members': , ' [app] emitting event: 'autodoc-skip-member'('class', 'script_name', '', False, {'members': , [app] emitting event: 'autodoc-skip-member'('class', 'setup_class', > [app] emitting event: 'autodoc-skip-member'('class', 'teardown_class', [autodoc] getattr(_, 'CherootWebCase') [autodoc] => [autodoc] getattr(_, 'assertEqualDates') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.helper.CherootWebCase.assertEqualDates', [autodoc] getattr(_, 'CherootWebCase') [autodoc] => [autodoc] getattr(_, 'available_servers') [autodoc] => {'wsgi': , 'native': } [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.helper.CherootWebCase.available_servers', {'wsgi': [autodoc] getattr(_, 'CherootWebCase') [autodoc] => [autodoc] getattr(_, 'date_tolerance') [autodoc] => 2 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.helper.CherootWebCase.date_tolerance', 2, {'members': [autodoc] getattr(_, 'CherootWebCase') [autodoc] => [autodoc] getattr(_, 'scheme') [autodoc] => 'http' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.helper.CherootWebCase.scheme', 'http', {'members': [autodoc] getattr(_, 'CherootWebCase') [autodoc] => [autodoc] getattr(_, 'script_name') [autodoc] => '' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.helper.CherootWebCase.script_name', '', {'members': [autodoc] getattr(_, 'CherootWebCase') [autodoc] => [autodoc] getattr(_, 'setup_class') [autodoc] => > [app] emitting event: 'autodoc-before-process-signature'(>, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.helper.CherootWebCase.setup_class', [autodoc] getattr(_, 'CherootWebCase') [autodoc] => [autodoc] getattr(_, 'start') [autodoc] => > [app] emitting event: 'autodoc-before-process-signature'(>, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.helper.CherootWebCase.start', [autodoc] getattr(_, 'CherootWebCase') [autodoc] => [autodoc] getattr(_, 'stop') [autodoc] => > [app] emitting event: 'autodoc-before-process-signature'(>, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.helper.CherootWebCase.stop', [autodoc] getattr(_, 'CherootWebCase') [autodoc] => [autodoc] getattr(_, 'teardown_class') [autodoc] => > [app] emitting event: 'autodoc-before-process-signature'(>, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.helper.CherootWebCase.teardown_class', [autodoc] getattr(_, 'Controller') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.test.helper.Controller', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': [autodoc] getattr(_, 'Request') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.test.helper.Request', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': [autodoc] getattr(_, 'Response') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.test.helper.Response', , {'members': , {'members': , {'members': , True, {'members': , True, {'members': , False, {'members': [autodoc] getattr(_, 'Response') [autodoc] => [autodoc] getattr(_, 'output') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.helper.Response.output', , {'me [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.test.helper.Response.output', , {'me [autodoc] output: .. py:module:: cheroot.test.helper A library of helper functions for the Cheroot test suite. .. py:class:: CherootWebCase(methodName='runTest') :module: cheroot.test.helper Bases: :py:class:`cheroot.test.webtest.WebCase` Helper class for a web app test suite. .. py:method:: CherootWebCase.assertEqualDates(dt1, dt2, seconds=None) :module: cheroot.test.helper Assert ``abs(dt1 - dt2)`` is within ``Y`` seconds. .. py:attribute:: CherootWebCase.available_servers :module: cheroot.test.helper :value: {'native': , 'wsgi': } .. py:attribute:: CherootWebCase.date_tolerance :module: cheroot.test.helper :value: 2 .. py:attribute:: CherootWebCase.scheme :module: cheroot.test.helper :value: 'http' .. py:attribute:: CherootWebCase.script_name :module: cheroot.test.helper :value: '' .. py:method:: CherootWebCase.setup_class() :module: cheroot.test.helper :classmethod: Create and run one HTTP server per class. .. py:method:: CherootWebCase.start() :module: cheroot.test.helper :classmethod: Load and start the HTTP server. .. py:method:: CherootWebCase.stop() :module: cheroot.test.helper :classmethod: Terminate HTTP server. .. py:method:: CherootWebCase.teardown_class() :module: cheroot.test.helper :classmethod: Cleanup HTTP server. .. py:class:: Controller() :module: cheroot.test.helper Bases: :py:class:`object` WSGI app for tests. .. py:class:: Request(environ) :module: cheroot.test.helper Bases: :py:class:`object` HTTP request container. .. py:class:: Response() :module: cheroot.test.helper Bases: :py:class:`object` HTTP response container. .. py:method:: Response.output() :module: cheroot.test.helper Generate iterable response body object. [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 57%] pkg/cheroot.test.test__compat [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.test__compat') [app] emitting event: 'source-read'('pkg/cheroot.test.test__compat', ['cheroot.test.test\\_\\_compat module\n========================== [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test__compat.rst:4: input: .. automodule:: cheroot.test.test__compat :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.test__compat [autodoc] import cheroot.test.test__compat => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test.test__compat', , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'six', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'test_compat_functions_negative_nonnative', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'test_extract_bytes_invalid', , Fa [app] emitting event: 'autodoc-skip-member'('module', 'test_ntou_escape', , False, {'members': [autodoc] getattr(_, 'bton') [autodoc] => [autodoc] from cheroot.test.test__compat import extract_bytes [autodoc] import cheroot.test.test__compat => [autodoc] getattr(_, 'extract_bytes') [autodoc] => [autodoc] from cheroot.test.test__compat import memoryview [autodoc] import cheroot.test.test__compat => [autodoc] getattr(_, 'memoryview') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [autodoc] from cheroot.test.test__compat import ntob [autodoc] import cheroot.test.test__compat => [autodoc] getattr(_, 'ntob') [autodoc] => [autodoc] from cheroot.test.test__compat import ntou [autodoc] import cheroot.test.test__compat => [autodoc] getattr(_, 'ntou') [autodoc] => [autodoc] from cheroot.test.test__compat import test_compat_functions_negative_nonnative [autodoc] import cheroot.test.test__compat => [autodoc] getattr(_, 'test_compat_functions_negative_nonnative') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test__compat.test_compat_functions_negative_nonnative', [autodoc] getattr(_, 'test_compat_functions_positive') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test__compat.test_compat_functions_positive', [autodoc] getattr(_, 'test_extract_bytes') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test__compat.test_extract_bytes', [autodoc] getattr(_, 'test_extract_bytes_invalid') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test__compat.test_extract_bytes_invalid', [autodoc] getattr(_, 'test_ntou_escape') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test__compat.test_ntou_escape', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 60%] pkg/cheroot.test.test_cli [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.test_cli') [app] emitting event: 'source-read'('pkg/cheroot.test.test_cli', ['cheroot.test.test\\_cli module\n=============================\n\n.. [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_cli.rst:4: input: .. automodule:: cheroot.test.test_cli :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.test_cli [autodoc] import cheroot.test.test_cli => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test.test_cli', , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__name__', 'cheroot.test.test_cli', True, {'members': , False, {'membe [app] emitting event: 'autodoc-skip-member'('module', 'pytest', , [app] emitting event: 'autodoc-skip-member'('module', 'six', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'sys', , False, {'members': , False, { [app] emitting event: 'autodoc-skip-member'('module', 'test_parse_wsgi_bind_addr', , Fals [app] emitting event: 'autodoc-skip-member'('module', 'wsgi_app', , False, {'members': [autodoc] getattr(_, 'Application') [autodoc] => [autodoc] from cheroot.test.test_cli import parse_wsgi_bind_addr [autodoc] import cheroot.test.test_cli => [autodoc] getattr(_, 'parse_wsgi_bind_addr') [autodoc] => [autodoc] from cheroot.test.test_cli import test_Aplication_resolve [autodoc] import cheroot.test.test_cli => [autodoc] getattr(_, 'test_Aplication_resolve') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_cli.test_Aplication_resolve', [autodoc] getattr(_, 'test_parse_wsgi_bind_addr') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_cli.test_parse_wsgi_bind_addr', [autodoc] getattr(_, 'wsgi_app') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_cli.wsgi_app', , {'members': , {'members': >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 62%] pkg/cheroot.test.test_conn [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.test_conn') [app] emitting event: 'source-read'('pkg/cheroot.test.test_conn', ['cheroot.test.test\\_conn module\n==============================\n\n [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_conn.rst:4: input: .. automodule:: cheroot.test.test_conn :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.test_conn [autodoc] import cheroot.test.test_conn => failed [autodoc] import cheroot.test => [autodoc] getattr(_, 'test_conn') autodoc: failed to import module 'test_conn' from module 'cheroot.test'; the following exception was raised: No module named 'jaraco.text' [app] emitting event: 'doctree-read'(>,) reading sources... [ 65%] pkg/cheroot.test.test_core [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.test_core') [app] emitting event: 'source-read'('pkg/cheroot.test.test_core', ['cheroot.test.test\\_core module\n==============================\n\n [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_core.rst:4: input: .. automodule:: cheroot.test.test_core :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.test_core [autodoc] import cheroot.test.test_core => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test.test_core', , False, {'members': < [app] emitting event: 'autodoc-skip-member'('module', 'CloseResponse', , False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('module', 'HTTP_REQUEST_ENTITY_TOO_LARGE', 413, False, {'members': , False, {'members': < [app] emitting event: 'autodoc-skip-member'('module', '__builtins__', {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and [app] emitting event: 'autodoc-skip-member'('module', '__cached__', '/home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/test/__pycache__/test_c [app] emitting event: 'autodoc-skip-member'('module', '__doc__', 'Tests for managing HTTP issues (malformed requests, etc).', True, {'members': [app] emitting event: 'autodoc-skip-member'('module', '__file__', '/home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/test/test_core.py', True, [app] emitting event: 'autodoc-skip-member'('module', '__loader__', <_frozen_importlib_external.SourceFileLoader object at 0x7f2cdfd78790>, Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'absolute_import', _Feature((2, 5, 0, 'alpha', 1), (3, 0, 0, 'alpha', 0), 262144), False, [app] emitting event: 'autodoc-skip-member'('module', 'division', _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 131072), False, {'memb [app] emitting event: 'autodoc-skip-member'('module', 'errno', , False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'six', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'socket', , False, {'members': , False, {'members': , Fals [app] emitting event: 'autodoc-skip-member'('module', 'test_content_length_required', [app] emitting event: 'autodoc-skip-member'('module', 'test_garbage_in', , False, {'members': , Fals [app] emitting event: 'autodoc-skip-member'('module', 'test_large_request', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'test_malformed_header', , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'test_malformed_http_method', , Fa [app] emitting event: 'autodoc-skip-member'('module', 'test_malformed_request_line', , [app] emitting event: 'autodoc-skip-member'('module', 'test_no_content_length', , False, {'m [app] emitting event: 'autodoc-skip-member'('module', 'test_normal_request', , False, {'members [app] emitting event: 'autodoc-skip-member'('module', 'test_parse_acceptable_uri', , Fals [app] emitting event: 'autodoc-skip-member'('module', 'test_parse_no_leading_slash_invalid', , [app] emitting event: 'autodoc-skip-member'('module', 'test_parse_uri_asterisk_uri', , [app] emitting event: 'autodoc-skip-member'('module', 'test_parse_uri_fragment_uri', , [app] emitting event: 'autodoc-skip-member'('module', 'test_parse_uri_invalid_uri', , Fa [app] emitting event: 'autodoc-skip-member'('module', 'test_parse_uri_unsafe_uri', , Fals [app] emitting event: 'autodoc-skip-member'('module', 'test_query_string_request', , Fals [app] emitting event: 'autodoc-skip-member'('module', 'test_request_line_split_issue_1220', , False, {'members': , False, {'membe [app] emitting event: 'autodoc-skip-member'('module', 'testing_server_with_defaults', [app] emitting event: 'autodoc-skip-member'('module', 'urllib', [autodoc] from cheroot.test.test_core import CloseController [autodoc] import cheroot.test.test_core => [autodoc] getattr(_, 'CloseController') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.test.test_core.CloseController', [app] emitting event: 'autodoc-process-bases'('cheroot.test.test_core.CloseController', , {'membe [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.test.test_core.CloseController', [app] emitting event: 'autodoc-skip-member'('class', '__call__', , True, {'members': , True, {'members': < [app] emitting event: 'autodoc-skip-member'('class', 'close', , False, {'members': [autodoc] getattr(_, 'CloseController') [autodoc] => [autodoc] getattr(_, 'close') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.test_core.CloseController.close', [autodoc] getattr(_, 'CloseResponse') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.test.test_core.CloseResponse', , {' [app] emitting event: 'autodoc-process-bases'('cheroot.test.test_core.CloseResponse', , {'members': [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.test.test_core.CloseResponse', , {' [app] emitting event: 'autodoc-skip-member'('class', '__dict__', mappingproxy({'__module__': 'cheroot.test.test_core', '__doc__': 'Dummy empty [app] emitting event: 'autodoc-skip-member'('class', '__doc__', 'Dummy empty response to trigger the no body status.', True, {'members': , True, {'members': < [app] emitting event: 'autodoc-skip-member'('class', '__init__', , True, {'members': , True, {'members': , False, {'members': [autodoc] getattr(_, 'CloseResponse') [autodoc] => [autodoc] getattr(_, 'output') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.test_core.CloseResponse.output', [autodoc] getattr(_, 'HelloController') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.test.test_core.HelloController', [app] emitting event: 'autodoc-process-bases'('cheroot.test.test_core.HelloController', , {'membe [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.test.test_core.HelloController', [app] emitting event: 'autodoc-skip-member'('class', '__annotations__', {}, True, {'members': , False, {'members': , False, {'members': , False, {'memb [app] emitting event: 'autodoc-skip-member'('class', 'handlers', {'/hello': , '/no_body': , False, {'members': , False, {'member [autodoc] from cheroot.test.test_core import HelloController._munge [autodoc] import cheroot.test.test_core => [autodoc] getattr(_, 'HelloController') [autodoc] => [autodoc] getattr(_, '_munge') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.test_core.HelloController._munge', [autodoc] getattr(_, 'HelloController') [autodoc] => [autodoc] getattr(_, 'asterisk') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.test_core.HelloController.asterisk', [autodoc] getattr(_, 'HelloController') [autodoc] => [autodoc] getattr(_, 'body_required') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.test_core.HelloController.body_required', [autodoc] getattr(_, 'HelloController') [autodoc] => [autodoc] getattr(_, 'handlers') [autodoc] => {'/hello': , '/no_body': , '/body_required': , '/query_string': , '/пÑ\x80ивÑ\x96Ñ\x82': , '/ЮÑ\x85Ñ\x85Ñ\x83Ñ\x83Ñ\x83': , '/\xa0Ðblah key 0 900 4 data': , '/*': } [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.test_core.HelloController.handlers', {'/hello': [autodoc] getattr(_, 'HelloController') [autodoc] => [autodoc] getattr(_, 'hello') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.test_core.HelloController.hello', [autodoc] getattr(_, 'HelloController') [autodoc] => [autodoc] getattr(_, 'query_string') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.test_core.HelloController.query_string', [autodoc] getattr(_, '_get_http_response') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core._get_http_response', [autodoc] getattr(_, 'test_client') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_client', , {'membe [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.test_core.test_client', , {'membe [autodoc] from cheroot.test.test_core import test_client_with_defaults [autodoc] import cheroot.test.test_core => [autodoc] getattr(_, 'test_client_with_defaults') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_client_with_defaults', [autodoc] getattr(_, 'test_content_length_required') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_content_length_required', [autodoc] getattr(_, 'test_garbage_in') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_garbage_in', , [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.test_core.test_garbage_in', , [autodoc] from cheroot.test.test_core import test_http_connect_request [autodoc] import cheroot.test.test_core => [autodoc] getattr(_, 'test_http_connect_request') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_http_connect_request', [autodoc] getattr(_, 'test_large_request') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_large_request', [autodoc] getattr(_, 'test_malformed_header') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_malformed_header', [autodoc] getattr(_, 'test_malformed_http_method') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_malformed_http_method', [autodoc] getattr(_, 'test_malformed_request_line') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_malformed_request_line', [autodoc] getattr(_, 'test_no_content_length') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_no_content_length', [autodoc] getattr(_, 'test_normal_request') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_normal_request', [autodoc] getattr(_, 'test_parse_acceptable_uri') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_parse_acceptable_uri', [autodoc] getattr(_, 'test_parse_no_leading_slash_invalid') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_parse_no_leading_slash_invalid', [autodoc] getattr(_, 'test_parse_uri_absolute_uri') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_parse_uri_absolute_uri', [autodoc] getattr(_, 'test_parse_uri_asterisk_uri') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_parse_uri_asterisk_uri', [autodoc] getattr(_, 'test_parse_uri_fragment_uri') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_parse_uri_fragment_uri', [autodoc] getattr(_, 'test_parse_uri_invalid_uri') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_parse_uri_invalid_uri', [autodoc] getattr(_, 'test_parse_uri_unsafe_uri') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_parse_uri_unsafe_uri', [autodoc] getattr(_, 'test_query_string_request') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_query_string_request', [autodoc] getattr(_, 'test_request_line_split_issue_1220') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_request_line_split_issue_1220', [autodoc] getattr(_, 'test_send_header_before_closing') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.test_send_header_before_closing', [autodoc] getattr(_, 'testing_server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.testing_server', , { [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.test_core.testing_server', , { [autodoc] from cheroot.test.test_core import testing_server_close [autodoc] import cheroot.test.test_core => [autodoc] getattr(_, 'testing_server_close') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.testing_server_close', [autodoc] getattr(_, 'testing_server_with_defaults') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_core.testing_server_with_defaults', , '/body_required': , '/hello': , '/no_body': , '/query_string': , '/\xa0Ðblah key 0 900 4 data': , '/ЮÑ\x85Ñ\x85Ñ\x83Ñ\x83Ñ\x83': , '/пÑ\x80ивÑ\x96Ñ\x82': } .. py:method:: HelloController.hello(resp) :module: cheroot.test.test_core Render Hello world. .. py:method:: HelloController.query_string(resp) :module: cheroot.test.test_core Render QUERY_STRING value. .. py:function:: _get_http_response(connection, method='GET') :module: cheroot.test.test_core .. py:function:: test_client(testing_server) :module: cheroot.test.test_core Get and return a test client out of the given server. .. py:function:: test_client_with_defaults(testing_server_with_defaults) :module: cheroot.test.test_core Get and return a test client out of the given server. .. py:function:: test_content_length_required(test_client) :module: cheroot.test.test_core Test POST query with body failing because of missing Content-Length. .. py:function:: test_garbage_in(test_client) :module: cheroot.test.test_core Test that server sends an error for garbage received over TCP. .. py:function:: test_http_connect_request(test_client) :module: cheroot.test.test_core Check that CONNECT query results in Method Not Allowed status. .. py:function:: test_large_request(test_client_with_defaults) :module: cheroot.test.test_core Test GET query with maliciously large Content-Length. .. py:function:: test_malformed_header(test_client) :module: cheroot.test.test_core Check that broken HTTP header results in Bad Request. .. py:function:: test_malformed_http_method(test_client) :module: cheroot.test.test_core Test non-uppercase HTTP method. .. py:function:: test_malformed_request_line(test_client, request_line, status_code, expected_body) :module: cheroot.test.test_core Test missing or invalid HTTP version in Request-Line. .. py:function:: test_no_content_length(test_client) :module: cheroot.test.test_core Test POST query with an empty body being successful. .. py:function:: test_normal_request(test_client) :module: cheroot.test.test_core Check that normal GET query succeeds. .. py:function:: test_parse_acceptable_uri(test_client, uri) :module: cheroot.test.test_core Check that server responds with OK to valid GET queries. .. py:function:: test_parse_no_leading_slash_invalid(test_client, uri) :module: cheroot.test.test_core Check that server responds with Bad Request to invalid GET queries. Invalid request line test case: it should have leading slash (be absolute). .. py:function:: test_parse_uri_absolute_uri(test_client) :module: cheroot.test.test_core Check that server responds with Bad Request to Absolute URI. Only proxy servers should allow this. .. py:function:: test_parse_uri_asterisk_uri(test_client) :module: cheroot.test.test_core Check that server responds with OK to OPTIONS with "*" Absolute URI. .. py:function:: test_parse_uri_fragment_uri(test_client) :module: cheroot.test.test_core Check that server responds with Bad Request to URI with fragment. .. py:function:: test_parse_uri_invalid_uri(test_client) :module: cheroot.test.test_core Check that server responds with Bad Request to invalid GET queries. Invalid request line test case: it should only contain US-ASCII. .. py:function:: test_parse_uri_unsafe_uri(test_client) :module: cheroot.test.test_core Test that malicious URI does not allow HTTP injection. This effectively checks that sending GET request with URL /%A0%D0blah%20key%200%20900%204%20data is not converted into GET / blah key 0 900 4 data HTTP/1.1 which would be a security issue otherwise. .. py:function:: test_query_string_request(test_client) :module: cheroot.test.test_core Check that GET param is parsed well. .. py:function:: test_request_line_split_issue_1220(test_client) :module: cheroot.test.test_core Check that HTTP request line of exactly 256 chars length is OK. .. py:function:: test_send_header_before_closing(testing_server_close) :module: cheroot.test.test_core Test we are actually sending the headers before calling 'close'. .. py:function:: testing_server(wsgi_server_client) :module: cheroot.test.test_core Attach a WSGI app to the given server and preconfigure it. .. py:function:: testing_server_close(wsgi_server_client) :module: cheroot.test.test_core Attach a WSGI app to the given server and preconfigure it. .. py:function:: testing_server_with_defaults(wsgi_server_client) :module: cheroot.test.test_core Attach a WSGI app to the given server and preconfigure it. [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'function', ) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', ...>) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 68%] pkg/cheroot.test.test_dispatch [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.test_dispatch') [app] emitting event: 'source-read'('pkg/cheroot.test.test_dispatch', ['cheroot.test.test\\_dispatch module\n========================== [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_dispatch.rst:4: input: .. automodule:: cheroot.test.test_dispatch :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.test_dispatch [autodoc] import cheroot.test.test_dispatch => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test.test_dispatch', , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__name__', 'cheroot.test.test_dispatch', True, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'wsgi_invoke', , False, {'members': [autodoc] getattr(_, 'PathInfoDispatcher') [autodoc] => [autodoc] from cheroot.test.test_dispatch import test_dispatch_no_script_name [autodoc] import cheroot.test.test_dispatch => [autodoc] getattr(_, 'test_dispatch_no_script_name') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_dispatch.test_dispatch_no_script_name', [autodoc] getattr(_, 'wsgi_invoke') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_dispatch.wsgi_invoke', , {'m [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.test_dispatch.wsgi_invoke', , {'m [autodoc] output: .. py:module:: cheroot.test.test_dispatch Tests for the HTTP server. .. py:function:: test_dispatch_no_script_name() :module: cheroot.test.test_dispatch Dispatch despite lack of ``SCRIPT_NAME`` in environ. .. py:function:: wsgi_invoke(app, environ) :module: cheroot.test.test_dispatch Serve 1 request from a WSGI application. [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 71%] pkg/cheroot.test.test_errors [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.test_errors') [app] emitting event: 'source-read'('pkg/cheroot.test.test_errors', ['cheroot.test.test\\_errors module\n============================== [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_errors.rst:4: input: .. automodule:: cheroot.test.test_errors :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.test_errors [autodoc] import cheroot.test.test_errors => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test.test_errors', , [app] emitting event: 'autodoc-skip-member'('module', 'IS_MACOS', False, False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'IS_WINDOWS', False, False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__name__', 'cheroot.test.test_errors', True, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'test_plat_specific_errors', , Fals [autodoc] from cheroot.test.test_errors import test_plat_specific_errors [autodoc] import cheroot.test.test_errors => [autodoc] getattr(_, 'test_plat_specific_errors') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_errors.test_plat_specific_errors', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 74%] pkg/cheroot.test.test_makefile [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.test_makefile') [app] emitting event: 'source-read'('pkg/cheroot.test.test_makefile', ['cheroot.test.test\\_makefile module\n========================== [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_makefile.rst:4: input: .. automodule:: cheroot.test.test_makefile :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.test_makefile [autodoc] import cheroot.test.test_makefile => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test.test_makefile', , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': , False, {'members': [autodoc] from cheroot.test.test_makefile import MockSocket [autodoc] import cheroot.test.test_makefile => [autodoc] getattr(_, 'MockSocket') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.test.test_makefile.MockSocket', , [app] emitting event: 'autodoc-process-bases'('cheroot.test.test_makefile.MockSocket', , {'members [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.test.test_makefile.MockSocket', , [app] emitting event: 'autodoc-skip-member'('class', '__dict__', mappingproxy({'__module__': 'cheroot.test.test_makefile', '__doc__': 'A mock s [app] emitting event: 'autodoc-skip-member'('class', '__doc__', 'A mock socket.', True, {'members': , True, {'members': , True, {'members': , False, {'members': , False, {'members': , False, {'members': [autodoc] getattr(_, 'MockSocket') [autodoc] => [autodoc] getattr(_, 'recv') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.test_makefile.MockSocket.recv', [autodoc] getattr(_, 'MockSocket') [autodoc] => [autodoc] getattr(_, 'recv_into') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.test_makefile.MockSocket.recv_into', [autodoc] getattr(_, 'MockSocket') [autodoc] => [autodoc] getattr(_, 'send') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.test_makefile.MockSocket.send', [autodoc] getattr(_, 'test_bytes_read') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_makefile.test_bytes_read', [autodoc] getattr(_, 'test_bytes_written') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_makefile.test_bytes_written', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 77%] pkg/cheroot.test.test_server [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.test_server') [app] emitting event: 'source-read'('pkg/cheroot.test.test_server', ['cheroot.test.test\\_server module\n============================== [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_server.rst:4: input: .. automodule:: cheroot.test.test_server :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.test_server [autodoc] import cheroot.test.test_server => failed [autodoc] import cheroot.test => [autodoc] getattr(_, 'test_server') autodoc: failed to import module 'test_server' from module 'cheroot.test'; the following exception was raised: No module named 'pypytools' [app] emitting event: 'doctree-read'(>,) reading sources... [ 80%] pkg/cheroot.test.test_ssl [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.test_ssl') [app] emitting event: 'source-read'('pkg/cheroot.test.test_ssl', ['cheroot.test.test\\_ssl module\n=============================\n\n.. [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_ssl.rst:4: input: .. automodule:: cheroot.test.test_ssl :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.test_ssl [autodoc] import cheroot.test.test_ssl => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test.test_ssl', , False, {'members': , False, {'members': , False, {'members' [app] emitting event: 'autodoc-skip-member'('module', 'IS_ABOVE_OPENSSL10', True, False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('module', 'IS_GITHUB_ACTIONS_WORKFLOW', False, False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'IS_MACOS', False, False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'IS_PYOPENSSL_SSL_VERSION_1_0', False, False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'IS_WIN2016', False, False, {'members': , 'un [app] emitting event: 'autodoc-skip-member'('module', 'PY3', True, False, {'members': , 'undo [app] emitting event: 'autodoc-skip-member'('module', 'PY310_PLUS', True, False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'PY34', False, False, {'members': , 'un [app] emitting event: 'autodoc-skip-member'('module', '__builtins__', {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and [app] emitting event: 'autodoc-skip-member'('module', '__cached__', '/home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/test/__pycache__/test_s [app] emitting event: 'autodoc-skip-member'('module', '__doc__', 'Tests for TLS support.', True, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': , False, {'members': : 0, [app] emitting event: 'autodoc-skip-member'('module', '_thread_except_hook', , False, {'members [app] emitting event: 'autodoc-skip-member'('module', 'absolute_import', _Feature((2, 5, 0, 'alpha', 1), (3, 0, 0, 'alpha', 0), 262144), False, [app] emitting event: 'autodoc-skip-member'('module', 'bton', , False, {'members': , False, {'members': , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'get_ssl_adapter_class', , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'http_over_https_error_builtin_marks', [], False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'make_tls_http_server', , False, {'membe [app] emitting event: 'autodoc-skip-member'('module', 'missing_ipv6', MarkDecorator(mark=Mark(name='skipif', args=(False,), kwargs={'reason': ' [app] emitting event: 'autodoc-skip-member'('module', 'ntob', , False, {'members': , False, {'members': , False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'requests', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'ssl', , False, {'members': , False, {' [app] emitting event: 'autodoc-skip-member'('module', 'sys', , False, {'members': , Fa [app] emitting event: 'autodoc-skip-member'('module', 'test_https_over_http_error', , Fa [app] emitting event: 'autodoc-skip-member'('module', 'test_ssl_adapters', , False, {'members': < [app] emitting event: 'autodoc-skip-member'('module', 'test_ssl_env', , False, {'members': , False, {'membe [app] emitting event: 'autodoc-skip-member'('module', 'thread_exceptions', , False, {'members': < [app] emitting event: 'autodoc-skip-member'('module', 'threading', , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'time', , False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'tls_certificate', , False, {'members': , False, {'members': , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'trustme', [autodoc] getattr(_, 'Gateway_10') [autodoc] => [autodoc] from cheroot.test.test_ssl import HTTPServer [autodoc] import cheroot.test.test_ssl => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] from cheroot.test.test_ssl import HelloWorldGateway [autodoc] import cheroot.test.test_ssl => [autodoc] getattr(_, 'HelloWorldGateway') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.test.test_ssl.HelloWorldGateway', , {'mem [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.test.test_ssl.HelloWorldGateway', , False, {'members': [autodoc] getattr(_, 'HelloWorldGateway') [autodoc] => [autodoc] getattr(_, 'respond') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.test_ssl.HelloWorldGateway.respond', [autodoc] getattr(_, '_get_conn_data') [autodoc] => [autodoc] from cheroot.test.test_ssl import _probe_ipv6_sock [autodoc] import cheroot.test.test_ssl => [autodoc] getattr(_, '_probe_ipv6_sock') [autodoc] => [autodoc] from cheroot.test.test_ssl import _thread_except_hook [autodoc] import cheroot.test.test_ssl => [autodoc] getattr(_, '_thread_except_hook') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl._thread_except_hook', [autodoc] getattr(_, 'bton') [autodoc] => [autodoc] from cheroot.test.test_ssl import ca [autodoc] import cheroot.test.test_ssl => [autodoc] getattr(_, 'ca') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.ca', , {'members': , {'members': [autodoc] getattr(_, 'get_ssl_adapter_class') [autodoc] => [autodoc] from cheroot.test.test_ssl import make_tls_http_server [autodoc] import cheroot.test.test_ssl => [autodoc] getattr(_, 'make_tls_http_server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.make_tls_http_server', [autodoc] getattr(_, 'ntob') [autodoc] => [autodoc] from cheroot.test.test_ssl import ntou [autodoc] import cheroot.test.test_ssl => [autodoc] getattr(_, 'ntou') [autodoc] => [autodoc] from cheroot.test.test_ssl import test_http_over_https_error [autodoc] import cheroot.test.test_ssl => [autodoc] getattr(_, 'test_http_over_https_error') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.test_http_over_https_error', [autodoc] getattr(_, 'test_https_over_http_error') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.test_https_over_http_error', [autodoc] getattr(_, 'test_ssl_adapters') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.test_ssl_adapters', [autodoc] getattr(_, 'test_ssl_env') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.test_ssl_env', , {'memb [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.test_ssl.test_ssl_env', , {'memb [autodoc] from cheroot.test.test_ssl import test_tls_client_auth [autodoc] import cheroot.test.test_ssl => [autodoc] getattr(_, 'test_tls_client_auth') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.test_tls_client_auth', [autodoc] getattr(_, 'thread_exceptions') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.thread_exceptions', [autodoc] getattr(_, 'tls_ca_certificate_pem_path') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.tls_ca_certificate_pem_path', [autodoc] getattr(_, 'tls_certificate') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.tls_certificate', , [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.test_ssl.tls_certificate', , [autodoc] from cheroot.test.test_ssl import tls_certificate_chain_pem_path [autodoc] import cheroot.test.test_ssl => [autodoc] getattr(_, 'tls_certificate_chain_pem_path') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.tls_certificate_chain_pem_path', [autodoc] getattr(_, 'tls_certificate_private_key_pem_path') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.tls_certificate_private_key_pem_path', [autodoc] getattr(_, 'tls_http_server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_ssl.tls_http_server', , [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.test_ssl.tls_http_server', , [autodoc] output: .. py:module:: cheroot.test.test_ssl Tests for TLS support. .. py:class:: HelloWorldGateway(req) :module: cheroot.test.test_ssl Bases: :py:class:`cheroot.wsgi.Gateway_10` Gateway responding with Hello World to root URI. .. py:method:: HelloWorldGateway.respond() :module: cheroot.test.test_ssl Respond with dummy content via HTTP. .. py:function:: _thread_except_hook(exceptions, args) :module: cheroot.test.test_ssl Append uncaught exception ``args`` in threads to ``exceptions``. .. py:function:: ca() :module: cheroot.test.test_ssl Provide a certificate authority via fixture. .. py:function:: make_tls_http_server(bind_addr, ssl_adapter, request) :module: cheroot.test.test_ssl Create and start an HTTP server bound to ``bind_addr``. .. py:function:: test_http_over_https_error(tls_http_server, adapter_type, ca, ip_addr, tls_certificate, tls_certificate_chain_pem_path, tls_certificate_private_key_pem_path) :module: cheroot.test.test_ssl Ensure that connecting over HTTP to HTTPS port is handled. .. py:function:: test_https_over_http_error(http_server, ip_addr) :module: cheroot.test.test_ssl Ensure that connecting over HTTPS to HTTP port is handled. .. py:function:: test_ssl_adapters(tls_http_server, adapter_type, tls_certificate, tls_certificate_chain_pem_path, tls_certificate_private_key_pem_path, tls_ca_certificate_pem_path) :module: cheroot.test.test_ssl Test ability to connect to server via HTTPS using adapters. .. py:function:: test_ssl_env(thread_exceptions, recwarn, mocker, tls_http_server, adapter_type, ca, tls_verify_mode, tls_certificate, tls_certificate_chain_pem_path, tls_certificate_private_key_pem_path, tls_ca_certificate_pem_path, use_client_cert) :module: cheroot.test.test_ssl Test the SSL environment generated by the SSL adapters. .. py:function:: test_tls_client_auth(mocker, tls_http_server, adapter_type, ca, tls_certificate, tls_certificate_chain_pem_path, tls_certificate_private_key_pem_path, tls_ca_certificate_pem_path, is_trusted_cert, tls_client_identity, tls_verify_mode) :module: cheroot.test.test_ssl Verify that client TLS certificate auth works correctly. .. py:function:: thread_exceptions() :module: cheroot.test.test_ssl Provide a list of uncaught exceptions from threads via a fixture. Only catches exceptions on Python 3.8+. The list contains: ``(type, str(value), str(traceback))`` .. py:function:: tls_ca_certificate_pem_path(ca) :module: cheroot.test.test_ssl Provide a certificate authority certificate file via fixture. .. py:function:: tls_certificate(ca) :module: cheroot.test.test_ssl Provide a leaf certificate via fixture. .. py:function:: tls_certificate_chain_pem_path(tls_certificate) :module: cheroot.test.test_ssl Provide a certificate chain PEM file path via fixture. .. py:function:: tls_certificate_private_key_pem_path(tls_certificate) :module: cheroot.test.test_ssl Provide a certificate private key PEM file path via fixture. .. py:function:: tls_http_server(request) :module: cheroot.test.test_ssl Provision a server creator as a fixture. [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 82%] pkg/cheroot.test.test_wsgi [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.test_wsgi') [app] emitting event: 'source-read'('pkg/cheroot.test.test_wsgi', ['cheroot.test.test\\_wsgi module\n==============================\n\n [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.test_wsgi.rst:4: input: .. automodule:: cheroot.test.test_wsgi :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.test_wsgi [autodoc] import cheroot.test.test_wsgi => failed [autodoc] import cheroot.test => [autodoc] getattr(_, 'test_wsgi') autodoc: failed to import module 'test_wsgi' from module 'cheroot.test'; the following exception was raised: No module named 'portend' [app] emitting event: 'doctree-read'(>,) reading sources... [ 85%] pkg/cheroot.test.webtest [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.test.webtest') [app] emitting event: 'source-read'('pkg/cheroot.test.webtest', ['cheroot.test.webtest module\n===========================\n\n.. automo [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.test.webtest.rst:4: input: .. automodule:: cheroot.test.webtest :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.test.webtest [autodoc] import cheroot.test.webtest => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test.webtest', , False, {'members': , False, {'members': , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'getchar', , False, {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'map', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'socket', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'tty', , False, {'members': , False, [app] emitting event: 'autodoc-skip-member'('module', 'urllib_parse', , Fal [app] emitting event: 'autodoc-skip-member'('module', 'warnings', , False, {'member [autodoc] from cheroot.test.webtest import NonDataProperty [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'NonDataProperty') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.test.webtest.NonDataProperty', , {' [app] emitting event: 'autodoc-process-bases'('cheroot.test.webtest.NonDataProperty', , {'members': [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.test.webtest.NonDataProperty', , {' [app] emitting event: 'autodoc-skip-member'('class', '__dict__', mappingproxy({'__module__': 'cheroot.test.webtest', '__doc__': 'Non-data prope [app] emitting event: 'autodoc-skip-member'('class', '__doc__', 'Non-data property decorator.', True, {'members': , True, {'members': , True, {'members': , True, {'members': < [autodoc] from cheroot.test.webtest import ServerError [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'ServerError') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('exception', 'cheroot.test.webtest.ServerError', , {'memb [app] emitting event: 'autodoc-process-bases'('cheroot.test.webtest.ServerError', , {'members': , {'memb [app] emitting event: 'autodoc-skip-member'('exception', '__doc__', 'Exception for signalling server error.', True, {'members': , True, {'members': < [app] emitting event: 'autodoc-skip-member'('exception', 'on', False, False, {'members': , 'u [autodoc] from cheroot.test.webtest import ServerError.on [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'ServerError') [autodoc] => [autodoc] getattr(_, 'on') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.ServerError.on', False, {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.test.webtest.WebCase', , {'members': , {'members': , {'members': [app] emitting event: 'autodoc-skip-member'('class', 'HTTP_CONN', , False, {'members': , 'undo [app] emitting event: 'autodoc-skip-member'('class', 'PROTOCOL', 'HTTP/1.1', False, {'members': , False, {'members': , False, {'members' [app] emitting event: 'autodoc-skip-member'('class', 'assertBody', , False, {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'assertHeaderItemValue', , False [app] emitting event: 'autodoc-skip-member'('class', 'assertInBody', , False, {'members': , False, {'memb [app] emitting event: 'autodoc-skip-member'('class', 'assertNoHeader', , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'assertNoHeaderItemValue', , F [app] emitting event: 'autodoc-skip-member'('class', 'assertNotInBody', , False, {'members' [app] emitting event: 'autodoc-skip-member'('class', 'assertStatus', , False, {'members': , 'undo [app] emitting event: 'autodoc-skip-member'('class', 'console_height', 30, False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'getPage', , False, {'members': , False, {'members': , 'u [app] emitting event: 'autodoc-skip-member'('class', 'interactive', , False, {'m [app] emitting event: 'autodoc-skip-member'('class', 'interface', , False, {'members': , False, {'members': , ' [app] emitting event: 'autodoc-skip-member'('class', 'set_persistent', , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'ssl_context', None, False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'status', None, False, {'members': , 'un [app] emitting event: 'autodoc-skip-member'('class', 'status_code', , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'time', None, False, {'members': , 'undo [app] emitting event: 'autodoc-skip-member'('class', 'url', None, False, {'members': , 'undoc [autodoc] from cheroot.test.webtest import WebCase.HOST [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'HOST') [autodoc] => '127.0.0.1' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.HOST', '127.0.0.1', {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'HTTP_CONN') [autodoc] => [autodoc] from cheroot.test.webtest import WebCase.PORT [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'PORT') [autodoc] => 8000 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.PORT', 8000, {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'PROTOCOL') [autodoc] => 'HTTP/1.1' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.PROTOCOL', 'HTTP/1.1', {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, '_Conn') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.test.webtest.WebCase._Conn', , {'members': [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.test.webtest.WebCase._Conn', , {'members': [autodoc] from cheroot.test.webtest import WebCase._handlewebError [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, '_handlewebError') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase._handlewebError', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'assertBody') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.assertBody', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'assertHeader') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.assertHeader', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'assertHeaderIn') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.assertHeaderIn', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'assertHeaderItemValue') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.assertHeaderItemValue', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'assertInBody') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.assertInBody', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'assertMatchesBody') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.assertMatchesBody', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'assertNoHeader') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.assertNoHeader', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'assertNoHeaderItemValue') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.assertNoHeaderItemValue', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'assertNotInBody') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.assertNotInBody', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'assertStatus') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.assertStatus', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'body') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.body', None, {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'console_height') [autodoc] => 30 [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.console_height', 30, {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'encoding') [autodoc] => 'utf-8' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.encoding', 'utf-8', {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'getPage') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.getPage', , {'m [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.test.webtest.WebCase.getPage', , {'m [autodoc] from cheroot.test.webtest import WebCase.get_conn [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'get_conn') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.get_conn', , { [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.test.webtest.WebCase.get_conn', , { [autodoc] from cheroot.test.webtest import WebCase.headers [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'headers') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.headers', None, {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'interactive') [autodoc] => [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.interactive', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'interface') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.interface', , [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.test.webtest.WebCase.interface', , [autodoc] from cheroot.test.webtest import WebCase.persistent [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'persistent') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.test.webtest.WebCase.persistent', , {'membe [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.test.webtest.WebCase.persistent', , {'membe [autodoc] from cheroot.test.webtest import WebCase.scheme [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'scheme') [autodoc] => 'http' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.scheme', 'http', {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'set_persistent') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.set_persistent', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'ssl_context') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.ssl_context', None, {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'status') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.status', None, {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'status_code') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.test.webtest.WebCase.status_code', , {'memb [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.test.webtest.WebCase.status_code', , {'memb [autodoc] from cheroot.test.webtest import WebCase.status_matches [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'status_matches') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.test.webtest.WebCase.status_matches', [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'time') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.time', None, {'members': [autodoc] getattr(_, 'WebCase') [autodoc] => [autodoc] getattr(_, 'url') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.test.webtest.WebCase.url', None, {'members': [autodoc] getattr(_, '_open_url_once') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.webtest._open_url_once', , {'m [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.webtest._open_url_once', , {'m [autodoc] from cheroot.test.webtest import always_iterable [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'always_iterable') [autodoc] => [autodoc] from cheroot.test.webtest import cleanHeaders [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'cleanHeaders') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.webtest.cleanHeaders', , {'membe [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.webtest.cleanHeaders', , {'membe [autodoc] from cheroot.test.webtest import getchar [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'getchar') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.webtest.getchar', , {'members': , {'members': [autodoc] getattr(_, 'interface') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.webtest.interface', , {'members': < [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.webtest.interface', , {'members': < [autodoc] from cheroot.test.webtest import map [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'map') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [autodoc] from cheroot.test.webtest import openURL [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'openURL') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.webtest.openURL', , {'members': , {'members': [autodoc] getattr(_, 'server_error') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.webtest.server_error', , {'membe [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.webtest.server_error', , {'membe [autodoc] from cheroot.test.webtest import shb [autodoc] import cheroot.test.webtest => [autodoc] getattr(_, 'shb') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.webtest.shb', , {'members': , {'members': [autodoc] getattr(_, 'strip_netloc') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.webtest.strip_netloc', , {'membe [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.webtest.strip_netloc', , {'membe [autodoc] output: .. py:module:: cheroot.test.webtest Extensions to unittest for web frameworks. Use the :py:meth:`WebCase.getPage` method to request a page from your HTTP server. Framework Integration ===================== If you have control over your server process, you can handle errors in the server-side of the HTTP conversation a bit better. You must run both the client (your :py:class:`WebCase` tests) and the server in the same process (but in separate threads, obviously). When an error occurs in the framework, call server_error. It will print the traceback to stdout, and keep any assertions you have from running (the assumption is that, if the server errors, the page output will not be of further significance to your tests). .. py:class:: NonDataProperty(fget) :module: cheroot.test.webtest Bases: :py:class:`object` Non-data property decorator. .. py:exception:: ServerError :module: cheroot.test.webtest Bases: :py:class:`Exception` Exception for signalling server error. .. py:attribute:: ServerError.on :module: cheroot.test.webtest :value: False .. py:class:: WebCase(methodName='runTest') :module: cheroot.test.webtest Bases: :py:class:`unittest.case.TestCase` Helper web test suite base. .. py:attribute:: WebCase.HOST :module: cheroot.test.webtest :value: '127.0.0.1' .. py:attribute:: WebCase.HTTP_CONN :module: cheroot.test.webtest alias of :py:class:`http.client.HTTPConnection` .. py:attribute:: WebCase.PORT :module: cheroot.test.webtest :value: 8000 .. py:attribute:: WebCase.PROTOCOL :module: cheroot.test.webtest :value: 'HTTP/1.1' .. py:property:: WebCase._Conn :module: cheroot.test.webtest Return HTTPConnection or HTTPSConnection based on self.scheme. * from :py:mod:`python:http.client`. .. py:method:: WebCase._handlewebError(msg) :module: cheroot.test.webtest .. py:method:: WebCase.assertBody(value, msg=None) :module: cheroot.test.webtest Fail if value != self.body. .. py:method:: WebCase.assertHeader(key, value=None, msg=None) :module: cheroot.test.webtest Fail if (key, [value]) not in self.headers. .. py:method:: WebCase.assertHeaderIn(key, values, msg=None) :module: cheroot.test.webtest Fail if header indicated by key doesn't have one of the values. .. py:method:: WebCase.assertHeaderItemValue(key, value, msg=None) :module: cheroot.test.webtest Fail if the header does not contain the specified value. .. py:method:: WebCase.assertInBody(value, msg=None) :module: cheroot.test.webtest Fail if value not in self.body. .. py:method:: WebCase.assertMatchesBody(pattern, msg=None, flags=0) :module: cheroot.test.webtest Fail if value (a regex pattern) is not in self.body. .. py:method:: WebCase.assertNoHeader(key, msg=None) :module: cheroot.test.webtest Fail if key in self.headers. .. py:method:: WebCase.assertNoHeaderItemValue(key, value, msg=None) :module: cheroot.test.webtest Fail if the header contains the specified value. .. py:method:: WebCase.assertNotInBody(value, msg=None) :module: cheroot.test.webtest Fail if value in self.body. .. py:method:: WebCase.assertStatus(status, msg=None) :module: cheroot.test.webtest Fail if self.status != status. status may be integer code, exact string status, or iterable of allowed possibilities. .. py:attribute:: WebCase.body :module: cheroot.test.webtest :value: None .. py:attribute:: WebCase.console_height :module: cheroot.test.webtest :value: 30 .. py:attribute:: WebCase.encoding :module: cheroot.test.webtest :value: 'utf-8' .. py:method:: WebCase.getPage(url, headers=None, method='GET', body=None, protocol=None, raise_subcls=()) :module: cheroot.test.webtest Open the url with debugging support. Return status, headers, body. url should be the identifier passed to the server, typically a server-absolute path and query string (sent between method and protocol), and should only be an absolute URI if proxy support is enabled in the server. If the application under test generates absolute URIs, be sure to wrap them first with :py:func:`strip_netloc`:: >>> class MyAppWebCase(WebCase): ... def getPage(url, *args, **kwargs): ... super(MyAppWebCase, self).getPage( ... cheroot.test.webtest.strip_netloc(url), ... *args, **kwargs ... ) ``raise_subcls`` is passed through to :py:func:`openURL`. .. py:method:: WebCase.get_conn(auto_open=False) :module: cheroot.test.webtest Return a connection to our HTTP server. .. py:attribute:: WebCase.headers :module: cheroot.test.webtest :value: None .. py:attribute:: WebCase.interactive :module: cheroot.test.webtest Non-data property decorator. .. py:method:: WebCase.interface() :module: cheroot.test.webtest Return an IP address for a client connection. If the server is listening on '0.0.0.0' (INADDR_ANY) or '::' (IN6ADDR_ANY), this will return the proper localhost. .. py:property:: WebCase.persistent :module: cheroot.test.webtest Presence of the persistent HTTP connection. .. py:attribute:: WebCase.scheme :module: cheroot.test.webtest :value: 'http' .. py:method:: WebCase.set_persistent(on=True, auto_open=False) :module: cheroot.test.webtest Make our HTTP_CONN persistent (or not). If the 'on' argument is True (the default), then self.HTTP_CONN will be set to an instance of HTTP(S)?Connection to persist across requests. As this class only allows for a single open connection, if self already has an open connection, it will be closed. .. py:attribute:: WebCase.ssl_context :module: cheroot.test.webtest :value: None .. py:attribute:: WebCase.status :module: cheroot.test.webtest :value: None .. py:property:: WebCase.status_code :module: cheroot.test.webtest Integer HTTP status code. .. py:method:: WebCase.status_matches(expected) :module: cheroot.test.webtest Check whether actual status matches expected. .. py:attribute:: WebCase.time :module: cheroot.test.webtest :value: None .. py:attribute:: WebCase.url :module: cheroot.test.webtest :value: None .. py:function:: _open_url_once(url, headers=None, method='GET', body=None, host='127.0.0.1', port=8000, http_conn=, protocol='HTTP/1.1', ssl_context=None) :module: cheroot.test.webtest Open the given HTTP resource and return status, headers, and body. .. py:function:: cleanHeaders(headers, method, body, host, port) :module: cheroot.test.webtest Return request headers, with required headers added (if missing). .. py:function:: getchar() :module: cheroot.test.webtest Get a key press. .. py:function:: interface(host) :module: cheroot.test.webtest Return an IP address for a client connection given the server host. If the server is listening on '0.0.0.0' (INADDR_ANY) or '::' (IN6ADDR_ANY), this will return the proper localhost. .. py:function:: openURL(*args, **kwargs) :module: cheroot.test.webtest Open a URL, retrying when it fails. Specify ``raise_subcls`` (class or tuple of classes) to exclude those socket.error subclasses from being suppressed and retried. .. py:function:: server_error(exc=None) :module: cheroot.test.webtest Server debug hook. Return True if exception handled, False if ignored. You probably want to wrap this, so you can still handle an error using your framework when it's ignored. .. py:function:: shb(response) :module: cheroot.test.webtest Return status, headers, body the way we like from a response. .. py:function:: strip_netloc(url) :module: cheroot.test.webtest Return absolute-URI path from URL. Strip the scheme and host from the URL, returning the server-absolute portion. Useful for wrapping an absolute-URI for which only the path is expected (such as in calls to :py:meth:`WebCase.getPage`). .. testsetup:: from cheroot.test.webtest import strip_netloc >>> strip_netloc('https://google.com/foo/bar?bing#baz') '/foo/bar?bing' >>> strip_netloc('//google.com/foo/bar?bing#baz') '/foo/bar?bing' >>> strip_netloc('/foo/bar?bing#baz') '/foo/bar?bing' [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'exception', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', ...>) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', ) [app] emitting event: 'doctree-read'(>,) reading sources... [ 88%] pkg/cheroot.testing [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.testing') [app] emitting event: 'source-read'('pkg/cheroot.testing', ['cheroot.testing module\n======================\n\n.. automodule:: cheroot. [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.testing.rst:4: input: .. automodule:: cheroot.testing :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.testing [autodoc] import cheroot.testing => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.testing', , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': : {'bind_addr': (None, 0), 'wsgi_app': None}, , False, {'members': , False, {'members': < [app] emitting event: 'autodoc-skip-member'('module', 'http_client', , False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'socket', , False, {'members': , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'time', , False, {'members': , False, {'members': [autodoc] getattr(_, '_TestClient') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.testing._TestClient', , {'members': , {'members': , {'members': , 'un [app] emitting event: 'autodoc-skip-member'('class', '__getattr__', , True, {'members': , True, {'members': , True, {'members': , False, {'member [app] emitting event: 'autodoc-skip-member'('class', 'request', , False, {'members': [autodoc] getattr(_, '_TestClient') [autodoc] => [autodoc] getattr(_, 'get_connection') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.testing._TestClient.get_connection', [autodoc] getattr(_, '_TestClient') [autodoc] => [autodoc] getattr(_, 'request') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.testing._TestClient.request', , [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.testing._TestClient.request', , [autodoc] from cheroot.testing import _get_conn_data [autodoc] import cheroot.testing => [autodoc] getattr(_, '_get_conn_data') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.testing._get_conn_data', , {'member [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.testing._get_conn_data', , {'member [autodoc] from cheroot.testing import _probe_ipv6_sock [autodoc] import cheroot.testing => [autodoc] getattr(_, '_probe_ipv6_sock') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.testing._probe_ipv6_sock', , {'me [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.testing._probe_ipv6_sock', , {'me [autodoc] from cheroot.testing import cheroot_server [autodoc] import cheroot.testing => [autodoc] getattr(_, 'cheroot_server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.testing.cheroot_server', , {'member [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.testing.cheroot_server', , {'member [autodoc] from cheroot.testing import closing [autodoc] import cheroot.testing => [autodoc] getattr(_, 'closing') [autodoc] => [autodoc] from cheroot.testing import get_server_client [autodoc] import cheroot.testing => [autodoc] getattr(_, 'get_server_client') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.testing.get_server_client', , {' [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.testing.get_server_client', , {' [autodoc] from cheroot.testing import native_server [autodoc] import cheroot.testing => [autodoc] getattr(_, 'native_server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.testing.native_server', , {'members' [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.testing.native_server', , {'members' [autodoc] from cheroot.testing import wsgi_server [autodoc] import cheroot.testing => [autodoc] getattr(_, 'wsgi_server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.testing.wsgi_server', , {'members': , {'members': ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'function', ) [app] emitting event: 'object-description-transform'('py', 'function', ) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 91%] pkg/cheroot.workers [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.workers') [app] emitting event: 'source-read'('pkg/cheroot.workers', ['cheroot.workers package\n=======================\n\nSubmodules\n---------- [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.workers.rst:15: input: .. automodule:: cheroot.workers :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.workers [autodoc] import cheroot.workers => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.workers', , Tru [app] emitting event: 'autodoc-skip-member'('module', '__name__', 'cheroot.workers', True, {'members': >,) reading sources... [ 94%] pkg/cheroot.workers.threadpool [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.workers.threadpool') [app] emitting event: 'source-read'('pkg/cheroot.workers.threadpool', ['cheroot.workers.threadpool module\n============================ [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.workers.threadpool.rst:4: input: .. automodule:: cheroot.workers.threadpool :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.workers.threadpool [autodoc] import cheroot.workers.threadpool => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.workers.threadpool', , False, {'members': , True, {'members': , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , True, {'members': , True, {'members': , True, {'members': , True, {'memb [app] emitting event: 'autodoc-skip-member'('module', 'time', , True, {'members': , True, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'warnings', , True, {'members [autodoc] from cheroot.workers.threadpool import ThreadPool [autodoc] import cheroot.workers.threadpool => [autodoc] getattr(_, 'ThreadPool') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.workers.threadpool.ThreadPool', , [app] emitting event: 'autodoc-process-bases'('cheroot.workers.threadpool.ThreadPool', , {'members [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.workers.threadpool.ThreadPool', , [app] emitting event: 'autodoc-skip-member'('class', '__dict__', mappingproxy({'__module__': 'cheroot.workers.threadpool', '__doc__': 'A Reques [app] emitting event: 'autodoc-skip-member'('class', '__doc__', 'A Request Queue for an HTTPServer which pools threads.\n\n ThreadPool objec [app] emitting event: 'autodoc-skip-member'('class', '__init__', , True, {'members': , True, {'members': , False, [app] emitting event: 'autodoc-skip-member'('class', '_clear_threads', , False, {'members [app] emitting event: 'autodoc-skip-member'('class', '_force_close', , False, {'members': < [app] emitting event: 'autodoc-skip-member'('class', '_spawn_worker', , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'grow', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': [autodoc] getattr(_, 'ThreadPool') [autodoc] => [autodoc] getattr(_, '_clear_dead_threads') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.workers.threadpool.ThreadPool._clear_dead_threads', [autodoc] getattr(_, 'ThreadPool') [autodoc] => [autodoc] getattr(_, '_clear_threads') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.workers.threadpool.ThreadPool._clear_threads', [autodoc] getattr(_, 'ThreadPool') [autodoc] => [autodoc] getattr(_, '_force_close') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.workers.threadpool.ThreadPool._force_close', [autodoc] getattr(_, 'ThreadPool') [autodoc] => [autodoc] getattr(_, '_spawn_worker') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.workers.threadpool.ThreadPool._spawn_worker', [autodoc] getattr(_, 'ThreadPool') [autodoc] => [autodoc] getattr(_, 'grow') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.workers.threadpool.ThreadPool.grow', [autodoc] getattr(_, 'ThreadPool') [autodoc] => [autodoc] getattr(_, 'idle') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.workers.threadpool.ThreadPool.idle', , {'me [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.workers.threadpool.ThreadPool.idle', , {'me [autodoc] from cheroot.workers.threadpool import ThreadPool.put [autodoc] import cheroot.workers.threadpool => [autodoc] getattr(_, 'ThreadPool') [autodoc] => [autodoc] getattr(_, 'put') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.workers.threadpool.ThreadPool.put', , [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.workers.threadpool.ThreadPool.put', , [autodoc] from cheroot.workers.threadpool import ThreadPool.qsize [autodoc] import cheroot.workers.threadpool => [autodoc] getattr(_, 'ThreadPool') [autodoc] => [autodoc] getattr(_, 'qsize') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.workers.threadpool.ThreadPool.qsize', , {'m [app] emitting event: 'autodoc-process-docstring'('property', 'cheroot.workers.threadpool.ThreadPool.qsize', , {'m [autodoc] from cheroot.workers.threadpool import ThreadPool.shrink [autodoc] import cheroot.workers.threadpool => [autodoc] getattr(_, 'ThreadPool') [autodoc] => [autodoc] getattr(_, 'shrink') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.workers.threadpool.ThreadPool.shrink', [autodoc] getattr(_, 'ThreadPool') [autodoc] => [autodoc] getattr(_, 'start') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.workers.threadpool.ThreadPool.start', [autodoc] getattr(_, 'ThreadPool') [autodoc] => [autodoc] getattr(_, 'stop') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.workers.threadpool.ThreadPool.stop', [autodoc] getattr(_, 'WorkerThread') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.workers.threadpool.WorkerThread', , {'mem [app] emitting event: 'autodoc-process-docstring'('class', 'cheroot.workers.threadpool.WorkerThread', , True, {'members': , 'undo [app] emitting event: 'autodoc-skip-member'('class', 'ready', False, False, {'members': , 'un [app] emitting event: 'autodoc-skip-member'('class', 'run', , False, {'members': , 'un [autodoc] from cheroot.workers.threadpool import WorkerThread.conn [autodoc] import cheroot.workers.threadpool => [autodoc] getattr(_, 'WorkerThread') [autodoc] => [autodoc] getattr(_, 'conn') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.workers.threadpool.WorkerThread.conn', None, {'members': [autodoc] getattr(_, 'WorkerThread') [autodoc] => [autodoc] getattr(_, 'ready') [autodoc] => False [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.workers.threadpool.WorkerThread.ready', False, {'members': [autodoc] getattr(_, 'WorkerThread') [autodoc] => [autodoc] getattr(_, 'run') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.workers.threadpool.WorkerThread.run', [autodoc] getattr(_, 'WorkerThread') [autodoc] => [autodoc] getattr(_, 'server') [autodoc] => None [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.workers.threadpool.WorkerThread.server', None, {'members': ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Args: [i18n] PATCH: 'docutils.nodes.term' to have rawsource: obj (>,) reading sources... [ 97%] pkg/cheroot.wsgi [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.wsgi') [app] emitting event: 'source-read'('pkg/cheroot.wsgi', ['cheroot.wsgi module\n===================\n\n.. automodule:: cheroot.wsgi\n [autodoc] /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/pkg/cheroot.wsgi.rst:4: input: .. automodule:: cheroot.wsgi :members: :undoc-members: :show-inheritance: :private-members: [autodoc] import cheroot.wsgi [autodoc] import cheroot.wsgi => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.wsgi', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': < [app] emitting event: 'autodoc-skip-member'('module', 'WSGIServer', , False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'sys', , False, {'members': }, False, {'members': [autodoc] getattr(_, 'Gateway') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.wsgi.Gateway', , {'members': , {'members': , {'members': , True, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'gateway_map', >, False [app] emitting event: 'autodoc-skip-member'('class', 'get_environ', , False, {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'write', , False, {'members': [autodoc] getattr(_, 'Gateway') [autodoc] => [autodoc] getattr(_, '_encode_status') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.wsgi.Gateway._encode_status', [autodoc] getattr(_, 'Gateway') [autodoc] => [autodoc] getattr(_, 'gateway_map') [autodoc] => > [app] emitting event: 'autodoc-before-process-signature'(>, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.wsgi.Gateway.gateway_map', [autodoc] getattr(_, 'Gateway') [autodoc] => [autodoc] getattr(_, 'get_environ') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.wsgi.Gateway.get_environ', , {'m [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.wsgi.Gateway.get_environ', , {'m [autodoc] from cheroot.wsgi import Gateway.respond [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'Gateway') [autodoc] => [autodoc] getattr(_, 'respond') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.wsgi.Gateway.respond', , {'members': [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.wsgi.Gateway.respond', , {'members': [autodoc] from cheroot.wsgi import Gateway.start_response [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'Gateway') [autodoc] => [autodoc] getattr(_, 'start_response') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.wsgi.Gateway.start_response', [autodoc] getattr(_, 'Gateway') [autodoc] => [autodoc] getattr(_, 'write') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.wsgi.Gateway.write', , {'members': , {'members': [autodoc] getattr(_, 'Gateway_10') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.wsgi.Gateway_10', , {'members': , {'members': , {'members': , False, {'members': , [autodoc] from cheroot.wsgi import Gateway_10.get_environ [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'Gateway_10') [autodoc] => [autodoc] getattr(_, 'get_environ') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.wsgi.Gateway_10.get_environ', [autodoc] getattr(_, 'Gateway_10') [autodoc] => [autodoc] getattr(_, 'version') [autodoc] => (1, 0) [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.wsgi.Gateway_10.version', (1, 0), {'members': [autodoc] getattr(_, 'Gateway_u0') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.wsgi.Gateway_u0', , {'members': , {'members': , {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'get_environ', , False, {'members': [autodoc] from cheroot.wsgi import Gateway_u0._decode_key [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'Gateway_u0') [autodoc] => [autodoc] getattr(_, '_decode_key') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.wsgi.Gateway_u0._decode_key', [autodoc] getattr(_, 'Gateway_u0') [autodoc] => [autodoc] getattr(_, '_decode_value') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.wsgi.Gateway_u0._decode_value', [autodoc] getattr(_, 'Gateway_u0') [autodoc] => [autodoc] getattr(_, 'get_environ') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.wsgi.Gateway_u0.get_environ', [autodoc] getattr(_, 'Gateway_u0') [autodoc] => [autodoc] getattr(_, 'version') [autodoc] => ('u', 0) [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.wsgi.Gateway_u0.version', ('u', 0), {'members': [autodoc] getattr(_, 'PathInfoDispatcher') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.wsgi.PathInfoDispatcher', , {'members': [app] emitting event: 'autodoc-process-bases'('cheroot.wsgi.PathInfoDispatcher', , {'members': , {'members': [app] emitting event: 'autodoc-skip-member'('class', '__call__', , True, {'members': , True, {'members': , True, {'members' [autodoc] from cheroot.wsgi import Server [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'Server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.wsgi.Server', , {'members': , {'members': , {'members': , True, {'members': , False, {'members': [autodoc] getattr(_, 'Server') [autodoc] => [autodoc] getattr(_, 'numthreads') [autodoc] => [app] emitting event: 'autodoc-process-signature'('property', 'cheroot.wsgi.Server.numthreads', , {'members': , {'members': [autodoc] getattr(_, 'Server') [autodoc] => [autodoc] getattr(_, 'wsgi_version') [autodoc] => (1, 0) [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.wsgi.Server.wsgi_version', (1, 0), {'members': [autodoc] getattr(_, 'WSGIGateway') [autodoc] => [autodoc] from cheroot.wsgi import WSGIGateway_10 [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'WSGIGateway_10') [autodoc] => [autodoc] from cheroot.wsgi import WSGIGateway_u0 [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'WSGIGateway_u0') [autodoc] => [autodoc] from cheroot.wsgi import WSGIPathInfoDispatcher [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'WSGIPathInfoDispatcher') [autodoc] => [autodoc] from cheroot.wsgi import WSGIServer [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'WSGIServer') [autodoc] => [autodoc] from cheroot.wsgi import bton [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'bton') [autodoc] => [autodoc] from cheroot.wsgi import filter [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'filter') [autodoc] => [autodoc] module analyzer failed: no source found for module 'builtins' [autodoc] from cheroot.wsgi import ntob [autodoc] import cheroot.wsgi => [autodoc] getattr(_, 'ntob') [autodoc] => [autodoc] output: .. py:module:: cheroot.wsgi This class holds Cheroot WSGI server implementation. Simplest example on how to use this server:: from cheroot import wsgi def my_crazy_app(environ, start_response): status = '200 OK' response_headers = [('Content-type','text/plain')] start_response(status, response_headers) return [b'Hello world!'] addr = '0.0.0.0', 8070 server = wsgi.Server(addr, my_crazy_app) server.start() The Cheroot WSGI server can serve as many WSGI applications as you want in one instance by using a PathInfoDispatcher:: path_map = { '/': my_crazy_app, '/blog': my_blog_app, } d = wsgi.PathInfoDispatcher(path_map) server = wsgi.Server(addr, d) .. py:class:: Gateway(req) :module: cheroot.wsgi Bases: :py:class:`cheroot.server.Gateway` A base class to interface HTTPServer with WSGI. .. py:method:: Gateway._encode_status(status) :module: cheroot.wsgi :staticmethod: Cast status to bytes representation of current Python version. According to :pep:`3333`, when using Python 3, the response status and headers must be bytes masquerading as Unicode; that is, they must be of type "str" but are restricted to code points in the "Latin-1" set. .. py:method:: Gateway.gateway_map() :module: cheroot.wsgi :classmethod: Create a mapping of gateways and their versions. Returns: dict[tuple[int,int],class]: map of gateway version and corresponding class .. py:method:: Gateway.get_environ() :module: cheroot.wsgi Return a new environ dict targeting the given wsgi.version. .. py:method:: Gateway.respond() :module: cheroot.wsgi Process the current request. From :pep:`333`: The start_response callable must not actually transmit the response headers. Instead, it must store them for the server or gateway to transmit only after the first iteration of the application return value that yields a NON-EMPTY string, or upon the application's first invocation of the write() callable. .. py:method:: Gateway.start_response(status, headers, exc_info=None) :module: cheroot.wsgi WSGI callable to begin the HTTP response. .. py:method:: Gateway.write(chunk) :module: cheroot.wsgi WSGI callable to write unbuffered data to the client. This method is also used internally by start_response (to write data from the iterable returned by the WSGI application). .. py:class:: Gateway_10(req) :module: cheroot.wsgi Bases: :py:class:`cheroot.wsgi.Gateway` A Gateway class to interface HTTPServer with WSGI 1.0.x. .. py:method:: Gateway_10.get_environ() :module: cheroot.wsgi Return a new environ dict targeting the given wsgi.version. .. py:attribute:: Gateway_10.version :module: cheroot.wsgi :value: (1, 0) .. py:class:: Gateway_u0(req) :module: cheroot.wsgi Bases: :py:class:`cheroot.wsgi.Gateway_10` A Gateway class to interface HTTPServer with WSGI u.0. WSGI u.0 is an experimental protocol, which uses Unicode for keys and values in both Python 2 and Python 3. .. py:method:: Gateway_u0._decode_key(item) :module: cheroot.wsgi :staticmethod: .. py:method:: Gateway_u0._decode_value(item) :module: cheroot.wsgi :staticmethod: .. py:method:: Gateway_u0.get_environ() :module: cheroot.wsgi Return a new environ dict targeting the given wsgi.version. .. py:attribute:: Gateway_u0.version :module: cheroot.wsgi :value: ('u', 0) .. py:class:: PathInfoDispatcher(apps) :module: cheroot.wsgi Bases: :py:class:`object` A WSGI dispatcher for dispatch based on the PATH_INFO. .. py:class:: Server(bind_addr, wsgi_app, numthreads=10, server_name=None, max=-1, request_queue_size=5, timeout=10, shutdown_timeout=5, accepted_queue_size=-1, accepted_queue_timeout=10, peercreds_enabled=False, peercreds_resolve_enabled=False) :module: cheroot.wsgi Bases: :py:class:`cheroot.server.HTTPServer` A subclass of HTTPServer which calls a WSGI application. .. py:property:: Server.numthreads :module: cheroot.wsgi Set minimum number of threads. .. py:attribute:: Server.wsgi_version :module: cheroot.wsgi :value: (1, 0) The version of WSGI to produce. .. py:attribute:: WSGIGateway :module: cheroot.wsgi alias of :py:class:`cheroot.wsgi.Gateway` .. py:attribute:: WSGIGateway_10 :module: cheroot.wsgi alias of :py:class:`cheroot.wsgi.Gateway_10` .. py:attribute:: WSGIGateway_u0 :module: cheroot.wsgi alias of :py:class:`cheroot.wsgi.Gateway_u0` .. py:attribute:: WSGIPathInfoDispatcher :module: cheroot.wsgi alias of :py:class:`cheroot.wsgi.PathInfoDispatcher` .. py:attribute:: WSGIServer :module: cheroot.wsgi alias of :py:class:`cheroot.wsgi.Server` [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', ) [app] emitting event: 'object-description-transform'('py', 'method', >) [app] emitting event: 'object-description-transform'('py', 'attribute', ) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'class', >) [app] emitting event: 'object-description-transform'('py', 'property', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'class', ) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [app] emitting event: 'object-description-transform'('py', 'attribute', >) [i18n] PATCH: 'docutils.nodes.term' to have rawsource: Returns: [i18n] PATCH: 'docutils.nodes.term' to have rawsource: dict[tuple[int,int],class]: map of gateway version and [app] emitting event: 'doctree-read'(>,) reading sources... [100%] pkg/modules [app] emitting event: 'env-purge-doc'(, 'pkg/modules') [app] emitting event: 'source-read'('pkg/modules', ['cheroot\n=======\n\n.. toctree::\n :maxdepth: 4\n\n cheroot\n']) [app] emitting event: 'doctree-read'(>,) [app] emitting event: 'env-updated'(,) WARNING: autodoc: failed to import module 'test_conn' from module 'cheroot.test'; the following exception was raised: No module named 'jaraco.text' WARNING: autodoc: failed to import module 'test_server' from module 'cheroot.test'; the following exception was raised: No module named 'pypytools' WARNING: autodoc: failed to import module 'test_wsgi' from module 'cheroot.test'; the following exception was raised: No module named 'portend' looking for now-outdated files... [app] emitting event: 'env-get-updated'(,) none found pickling environment... done checking consistency... [app] emitting event: 'env-check-consistency'(,) done docnames to write: contribute, devguide, history, index, pkg/cheroot, pkg/cheroot.__main__, pkg/cheroot._compat, pkg/cheroot.cli, pkg/cheroot.connections, pkg/cheroot.errors, pkg/cheroot.makefile, pkg/cheroot.server, pkg/cheroot.ssl, pkg/cheroot.ssl.builtin, pkg/cheroot.ssl.pyopenssl, pkg/cheroot.test, pkg/cheroot.test._pytest_plugin, pkg/cheroot.test.conftest, pkg/cheroot.test.helper, pkg/cheroot.test.test__compat, pkg/cheroot.test.test_cli, pkg/cheroot.test.test_conn, pkg/cheroot.test.test_core, pkg/cheroot.test.test_dispatch, pkg/cheroot.test.test_errors, pkg/cheroot.test.test_makefile, pkg/cheroot.test.test_server, pkg/cheroot.test.test_ssl, pkg/cheroot.test.test_wsgi, pkg/cheroot.test.webtest, pkg/cheroot.testing, pkg/cheroot.workers, pkg/cheroot.workers.threadpool, pkg/cheroot.wsgi, pkg/modules preparing documents... done writing output... [ 2%] contribute [app] emitting event: 'missing-reference'(, >, >) [app] emitting event: 'doctree-resolved'(
, 'contribute') [app] emitting event: 'html-page-context'('contribute', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'version': writing output... [ 5%] devguide [app] emitting event: 'doctree-resolved'(>, 'devguide') [app] emitting event: 'html-page-context'('devguide', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'version': ' writing output... [ 8%] history [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >) [app] emitting event: 'missing-reference'(, >, , >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >,
>, 'history') [app] emitting event: 'html-page-context'('history', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'version': '8 writing output... [ 11%] index [app] emitting event: 'doctree-resolved'(
, 'index') [app] emitting event: 'html-page-context'('index', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'version': '8.6 writing output... [ 14%] pkg/cheroot [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot') [app] emitting event: 'html-page-context'('pkg/cheroot', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'version' writing output... [ 17%] pkg/cheroot.__main__ [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.__main__') [app] emitting event: 'html-page-context'('pkg/cheroot.__main__', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', writing output... [ 20%] pkg/cheroot._compat [app] emitting event: 'missing-reference'(, >, , , >, , >) [app] emitting event: 'missing-reference'(, >, < [app] emitting event: 'missing-reference'(, > [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >, >, 'pkg/cheroot._compat') [app] emitting event: 'html-page-context'('pkg/cheroot._compat', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', ' writing output... [ 22%] pkg/cheroot.cli [app] emitting event: 'missing-reference'(, >, , >, , >, >, 'pkg/cheroot.cli') [app] emitting event: 'html-page-context'('pkg/cheroot.cli', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'vers writing output... [ 25%] pkg/cheroot.connections [app] emitting event: 'missing-reference'(, >, , , , >, , >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.connections') [app] emitting event: 'html-page-context'('pkg/cheroot.connections', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0 writing output... [ 28%] pkg/cheroot.errors [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >) [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.errors') [app] emitting event: 'html-page-context'('pkg/cheroot.errors', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'v writing output... [ 31%] pkg/cheroot.makefile [app] emitting event: 'missing-reference'(, >, , >, , >, >, 'pkg/cheroot.makefile') [app] emitting event: 'html-page-context'('pkg/cheroot.makefile', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', writing output... [ 34%] pkg/cheroot.server [app] emitting event: 'missing-reference'(, >, , , , , >, < [app] emitting event: 'missing-reference'(, , >, < [app] emitting event: 'missing-reference'(, , >, <# [app] emitting event: 'missing-reference'(, >, < [app] emitting event: 'missing-reference'(, >, , >, , > [app] emitting event: 'missing-reference'(, > [app] emitting event: 'missing-reference'(, >, , >, <# [app] emitting event: 'missing-reference'(, >, , >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >, , , , >, < [app] emitting event: 'missing-reference'(, , >, < [app] emitting event: 'missing-reference'(, , >, <# [app] emitting event: 'missing-reference'(, >, < [app] emitting event: 'missing-reference'(, >, , , , >, < [app] emitting event: 'missing-reference'(, , >, < [app] emitting event: 'missing-reference'(, , >, <# [app] emitting event: 'missing-reference'(, >, < [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.server') [app] emitting event: 'html-page-context'('pkg/cheroot.server', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'v writing output... [ 37%] pkg/cheroot.ssl [app] emitting event: 'missing-reference'(, >, >, 'pkg/cheroot.ssl') [app] emitting event: 'html-page-context'('pkg/cheroot.ssl', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'vers writing output... [ 40%] pkg/cheroot.ssl.builtin [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.ssl.builtin') [app] emitting event: 'html-page-context'('pkg/cheroot.ssl.builtin', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0 writing output... [ 42%] pkg/cheroot.ssl.pyopenssl [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >, , >, , >) [app] emitting event: 'missing-reference'(, >, , >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'missing-reference'(, >, , , >, , >) [app] emitting event: 'missing-reference'(, >, , >, , >, , >) [app] emitting event: 'missing-reference'(, >, , >, >, 'pkg/cheroot.ssl.pyopenssl') [app] emitting event: 'html-page-context'('pkg/cheroot.ssl.pyopenssl', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6 writing output... [ 45%] pkg/cheroot.test [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test') [app] emitting event: 'html-page-context'('pkg/cheroot.test', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'ver writing output... [ 48%] pkg/cheroot.test._pytest_plugin [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test._pytest_plugin') [app] emitting event: 'html-page-context'('pkg/cheroot.test._pytest_plugin', 'page.html', {'embedded': False, 'project': 'cheroot', 'release' writing output... [ 51%] pkg/cheroot.test.conftest [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test.conftest') [app] emitting event: 'html-page-context'('pkg/cheroot.test.conftest', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6 writing output... [ 54%] pkg/cheroot.test.helper [app] emitting event: 'missing-reference'(, >, , >, , >, >, 'pkg/cheroot.test.helper') [app] emitting event: 'html-page-context'('pkg/cheroot.test.helper', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0 writing output... [ 57%] pkg/cheroot.test.test__compat [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test.test__compat') [app] emitting event: 'html-page-context'('pkg/cheroot.test.test__compat', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': writing output... [ 60%] pkg/cheroot.test.test_cli [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test.test_cli') [app] emitting event: 'html-page-context'('pkg/cheroot.test.test_cli', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6 writing output... [ 62%] pkg/cheroot.test.test_conn [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test.test_conn') [app] emitting event: 'html-page-context'('pkg/cheroot.test.test_conn', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8. writing output... [ 65%] pkg/cheroot.test.test_core [app] emitting event: 'missing-reference'(, >, , >, >, 'pkg/cheroot.test.test_core') [app] emitting event: 'html-page-context'('pkg/cheroot.test.test_core', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8. writing output... [ 68%] pkg/cheroot.test.test_dispatch [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test.test_dispatch') [app] emitting event: 'html-page-context'('pkg/cheroot.test.test_dispatch', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': writing output... [ 71%] pkg/cheroot.test.test_errors [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test.test_errors') [app] emitting event: 'html-page-context'('pkg/cheroot.test.test_errors', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': ' writing output... [ 74%] pkg/cheroot.test.test_makefile [app] emitting event: 'missing-reference'(, >, >, 'pkg/cheroot.test.test_makefile') [app] emitting event: 'html-page-context'('pkg/cheroot.test.test_makefile', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': writing output... [ 77%] pkg/cheroot.test.test_server [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test.test_server') [app] emitting event: 'html-page-context'('pkg/cheroot.test.test_server', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': ' writing output... [ 80%] pkg/cheroot.test.test_ssl [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test.test_ssl') [app] emitting event: 'html-page-context'('pkg/cheroot.test.test_ssl', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6 writing output... [ 82%] pkg/cheroot.test.test_wsgi [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test.test_wsgi') [app] emitting event: 'html-page-context'('pkg/cheroot.test.test_wsgi', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8. writing output... [ 85%] pkg/cheroot.test.webtest [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >) [app] emitting event: 'missing-reference'(, >, , >) [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.test.webtest') [app] emitting event: 'html-page-context'('pkg/cheroot.test.webtest', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6. writing output... [ 88%] pkg/cheroot.testing [app] emitting event: 'missing-reference'(, >, >, 'pkg/cheroot.testing') [app] emitting event: 'html-page-context'('pkg/cheroot.testing', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', ' writing output... [ 91%] pkg/cheroot.workers [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.workers') [app] emitting event: 'html-page-context'('pkg/cheroot.workers', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', ' writing output... [ 94%] pkg/cheroot.workers.threadpool [app] emitting event: 'missing-reference'(, >, , >, , >) [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.workers.threadpool') [app] emitting event: 'html-page-context'('pkg/cheroot.workers.threadpool', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': writing output... [ 97%] pkg/cheroot.wsgi [app] emitting event: 'missing-reference'(, >, >, 'pkg/cheroot.wsgi') [app] emitting event: 'html-page-context'('pkg/cheroot.wsgi', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'ver writing output... [100%] pkg/modules [app] emitting event: 'doctree-resolved'(>, 'pkg/modules') [app] emitting event: 'html-page-context'('pkg/modules', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'version' /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/contribute.rst:72: WARNING: 'any' reference target not found: python .github/CONTRIBUTING.rst:4: WARNING: hardcoded link 'https://github.com/cherrypy/cheroot/blob/master/README.rst' could be replaced by an extlink (try using ':gh:`cherrypy/cheroot/blob/master/README.rst`' instead) /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/contribute.rst:82: WARNING: hardcoded link 'https://github.com/pre-commit/pre-commit' could be replaced by an extlink (try using ':gh:`pre-commit/pre-commit`' instead) /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/devguide.rst:9: WARNING: hardcoded link 'https://github.com/cherrypy/cheroot/actions/workflows/ci-cd.yml' could be replaced by an extlink (try using ':gh:`cherrypy/cheroot/actions/workflows/ci-cd.yml`' instead) CHANGES.rst:8: WARNING: py:func reference target not found: select.select CHANGES.rst:99: WARNING: py:meth reference target not found: selectors.BaseSelector.get_map CHANGES.rst:140: WARNING: py:func reference target not found: select.select CHANGES.rst:140: WARNING: py:mod reference target not found: selectors CHANGES.rst:252: WARNING: py:mod reference target not found: trustme CHANGES.rst:255: WARNING: py:mod reference target not found: unittest CHANGES.rst:255: WARNING: py:mod reference target not found: ddt CHANGES.rst:263: WARNING: py:func reference target not found: os.lchmod CHANGES.rst:265: WARNING: py:mod reference target not found: ssl CHANGES.rst:268: WARNING: py:class reference target not found: OpenSSL.SSL.Connection CHANGES.rst:292: WARNING: py:mod reference target not found: trustme CHANGES.rst:396: WARNING: py:obj reference target not found: socket.AF_UNIX CHANGES.rst:405: WARNING: py:obj reference target not found: socket.AF_UNIX CHANGES.rst:417: WARNING: hardcoded link 'https://github.com/mitsuhiko' could be replaced by an extlink (try using ':gh:`mitsuhiko`' instead) CHANGES.rst:654: WARNING: hardcoded link 'https://github.com/jaraco/skeleton' could be replaced by an extlink (try using ':gh:`jaraco/skeleton`' instead) README.rst:: WARNING: hardcoded link 'https://github.com/cherrypy/cheroot/actions/workflows/ci-cd.yml' could be replaced by an extlink (try using ':gh:`cherrypy/cheroot/actions/workflows/ci-cd.yml`' instead) README.rst:75: WARNING: hardcoded link 'https://github.com/cherrypy/cherrypy/blob/master/.github/CONTRIBUTING.rst' could be replaced by an extlink (try using ':gh:`cherrypy/cherrypy/blob/master/.github/CONTRIBUTING.rst`' instead) /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/docs/index.rst:20: WARNING: hardcoded link 'https://github.com/cherrypy/cheroot' could be replaced by an extlink (try using ':gh:`cherrypy/cheroot`' instead) /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/_compat.py:docstring of cheroot._compat.extract_bytes:3: WARNING: py:func reference target not found: buffer /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/_compat.py:docstring of cheroot._compat.extract_bytes:9: WARNING: py:func reference target not found: buffer /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/connections.py:docstring of cheroot.connections._ThreadsafeSelector:8: WARNING: py:func reference target not found: iter /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/connections.py:docstring of cheroot.connections._ThreadsafeSelector:16: WARNING: py:meth reference target not found: selectors.BaseSelector.select /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/errors.py:docstring of cheroot.errors.plat_specific_errors:3: WARNING: py:mod reference target not found: errno docstring of cheroot.errors.acceptable_sock_shutdown_error_codes:8: WARNING: hardcoded link 'https://github.com/cherrypy/cheroot/issues/341#issuecomment-735884889' could be replaced by an extlink (try using ':issue:`341#issuecomment-735884889`' instead) docstring of cheroot.errors.acceptable_sock_shutdown_error_codes:8: WARNING: hardcoded link 'https://github.com/cherrypy/cheroot/issues/341#issuecomment-735884889' could be replaced by an extlink (try using ':gh:`cherrypy/cheroot/issues/341#issuecomment-735884889`' instead) docstring of cheroot.errors.acceptable_sock_shutdown_error_codes:8: WARNING: hardcoded link 'https://github.com/python/cpython/commit/83a2c28' could be replaced by an extlink (try using ':gh:`python/cpython/commit/83a2c28`' instead) docstring of cheroot.errors.acceptable_sock_shutdown_error_codes:8: WARNING: hardcoded link 'https://github.com/python/cpython/blob/c39b52f/Lib/poplib.py#L297-L302' could be replaced by an extlink (try using ':gh:`python/cpython/blob/c39b52f/Lib/poplib.py#L297-L302`' instead) /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/server.py:docstring of cheroot.server.HTTPServer.bind_addr:3: WARNING: py:data reference target not found: None docstring of cheroot.server.HTTPServer.peercreds_enabled:1: WARNING: py:data reference target not found: True docstring of cheroot.server.HTTPServer.peercreds_resolve_enabled:1: WARNING: py:data reference target not found: True /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/builtin.py:docstring of cheroot.ssl.builtin:1: WARNING: py:mod reference target not found: ssl /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/builtin.py:docstring of cheroot.ssl.builtin:3: WARNING: py:mod reference target not found: ssl /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/builtin.py:docstring of cheroot.ssl.builtin.BuiltinSSLAdapter:1: WARNING: py:mod reference target not found: ssl /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/builtin.py:docstring of cheroot.ssl.builtin.BuiltinSSLAdapter.context:1: WARNING: py:class reference target not found: ssl.SSLContext /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:1: WARNING: unknown document: pyopenssl:index /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:3: WARNING: py:mod reference target not found: pyopenssl:OpenSSL /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:19: WARNING: py:class reference target not found: pyopenssl:OpenSSL.SSL.Connection /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:19: WARNING: py:data reference target not found: pyopenssl:OpenSSL.SSL.SSLv3_METHOD /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:19: WARNING: py:data reference target not found: pyopenssl:OpenSSL.SSL.SSLv3_METHOD /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:19: WARNING: unknown document: pyopenssl:api/ssl /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:42: WARNING: py:data reference target not found: None /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:42: WARNING: py:data reference target not found: None /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl.SSLConnection:3: WARNING: py:class reference target not found: pyopenssl:OpenSSL.SSL.Connection docstring of cheroot.ssl.pyopenssl.pyOpenSSLAdapter.certificate_chain:3: WARNING: py:data reference target not found: None /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:3: WARNING: hardcoded link 'https://github.com/pyca/pyopenssl' could be replaced by an extlink (try using ':gh:`pyca/pyopenssl`' instead) :1: WARNING: py:class reference target not found: http.client.HTTPConnection /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/test/webtest.py:docstring of cheroot.test.webtest.WebCase._Conn:3: WARNING: py:mod reference target not found: python:http.client /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0/cheroot/workers/threadpool.py:docstring of cheroot.workers.threadpool.WorkerThread:1: WARNING: py:class reference target not found: threading.Thread generating indices... genindex [app] emitting event: 'html-page-context'('genindex', 'genindex.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'version py-modindex [app] emitting event: 'html-page-context'('py-modindex', 'domainindex.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'v done [app] emitting event: 'html-collect-pages'() writing additional pages... search [app] emitting event: 'html-page-context'('search', 'search.html', {'embedded': False, 'project': 'cheroot', 'release': '8.6.0', 'version': ' done copying static files... done copying extra files... done dumping search index in English (code: en)... done dumping object inventory... done build succeeded, 61 warnings. The HTML pages are in html. [app] emitting event: 'build-finished'(None,) + rm -rf html/.doctrees html/.buildinfo + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.cdOHJL + umask 022 + cd /home/pterjan/rpmbuild/BUILD + '[' 1 -eq 1 ']' + '[' /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch '!=' / ']' + rm -rf /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch ++ dirname /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch + mkdir -p /home/pterjan/rpmbuild/BUILDROOT + mkdir /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch + cd cheroot-8.6.0 + '[' 1 -eq 1 ']' + CFLAGS='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables' + LDFLAGS=' -Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags' + /usr/bin/python3 setup.py install -O1 --skip-build --root /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch running install /usr/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running install_lib creating /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr creating /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib creating /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10 creating /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages creating /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot copying build/lib/cheroot/makefile.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot copying build/lib/cheroot/cli.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot copying build/lib/cheroot/_compat.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot creating /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/helper.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/test_errors.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/test_cli.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/test_wsgi.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/test_makefile.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/test_ssl.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/conftest.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/test_server.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/_pytest_plugin.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/test_conn.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/__init__.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/test_core.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/test_dispatch.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/webtest.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/test/test__compat.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test copying build/lib/cheroot/wsgi.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot creating /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/workers copying build/lib/cheroot/workers/threadpool.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/workers copying build/lib/cheroot/workers/__init__.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/workers creating /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/ssl copying build/lib/cheroot/ssl/pyopenssl.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/ssl copying build/lib/cheroot/ssl/__init__.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/ssl copying build/lib/cheroot/ssl/builtin.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/ssl copying build/lib/cheroot/server.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot copying build/lib/cheroot/__main__.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot copying build/lib/cheroot/__init__.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot copying build/lib/cheroot/errors.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot copying build/lib/cheroot/testing.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot copying build/lib/cheroot/connections.py -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot copying build/lib/cheroot/py.typed -> /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/makefile.py to makefile.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/cli.py to cli.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/_compat.py to _compat.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/helper.py to helper.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/test_errors.py to test_errors.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/test_cli.py to test_cli.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/test_wsgi.py to test_wsgi.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/test_makefile.py to test_makefile.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/test_ssl.py to test_ssl.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/conftest.py to conftest.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/test_server.py to test_server.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/_pytest_plugin.py to _pytest_plugin.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/test_conn.py to test_conn.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/__init__.py to __init__.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/test_core.py to test_core.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/test_dispatch.py to test_dispatch.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/webtest.py to webtest.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/test/test__compat.py to test__compat.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/wsgi.py to wsgi.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/workers/threadpool.py to threadpool.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/workers/__init__.py to __init__.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/ssl/pyopenssl.py to pyopenssl.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/ssl/__init__.py to __init__.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/ssl/builtin.py to builtin.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/server.py to server.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/__main__.py to __main__.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/__init__.py to __init__.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/errors.py to errors.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/testing.py to testing.cpython-310.pyc byte-compiling /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot/connections.py to connections.cpython-310.pyc writing byte-compilation script '/tmp/tmp044nc9c1.py' /usr/bin/python3 -Wignore:The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives:DeprecationWarning /tmp/tmp044nc9c1.py removing /tmp/tmp044nc9c1.py running install_egg_info running egg_info writing cheroot.egg-info/PKG-INFO writing dependency_links to cheroot.egg-info/dependency_links.txt writing entry points to cheroot.egg-info/entry_points.txt writing requirements to cheroot.egg-info/requires.txt writing top-level names to cheroot.egg-info/top_level.txt listing git files failed - pretending there aren't any reading manifest file 'cheroot.egg-info/SOURCES.txt' adding license file 'LICENSE.md' writing manifest file 'cheroot.egg-info/SOURCES.txt' Copying cheroot.egg-info to /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10/site-packages/cheroot-8.6.0-py3.10.egg-info running install_scripts Installing cheroot script to /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/bin + rm -rfv /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/bin/__pycache__ + /usr/bin/find-debuginfo -j16 --strict-build-id -m -i --build-id-seed 8.6.0-2.mga9 --unique-debug-suffix -8.6.0-2.mga9.noarch --unique-debug-src-base python-cheroot-8.6.0-2.mga9.noarch --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /home/pterjan/rpmbuild/BUILD/cheroot-8.6.0 + /usr/lib/rpm/check-buildroot + '[' -n '' ']' + /usr/share/spec-helper/clean_files + '[' -n '' ']' + /usr/share/spec-helper/compress_files .xz + '[' -n '' ']' + /usr/share/spec-helper/relink_symlinks + '[' -n '' ']' + /usr/share/spec-helper/clean_perl + '[' -n '' ']' + /usr/share/spec-helper/lib_symlinks + '[' -n '' ']' + /usr/share/spec-helper/gprintify + '[' -n '' ']' + /usr/share/spec-helper/fix_mo + '[' -n '' ']' + /usr/share/spec-helper/fix_pamd + '[' -n '' ']' + /usr/share/spec-helper/remove_info_dir + '[' -n '' ']' + /usr/share/spec-helper/fix_eol + '[' -n '' ']' + /usr/share/spec-helper/check_desktop_files + '[' -n '' ']' + /usr/share/spec-helper/check_elf_files + /usr/lib/rpm/brp-python-bytecompile /usr/bin/python3 1 0 Bytecompiling .py files below /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/lib/python3.10 using python3.10 + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-mangle-shebangs Processing files: python3-cheroot-8.6.0-2.mga9.noarch Executing(%doc): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.kgZiV3 + umask 022 + cd /home/pterjan/rpmbuild/BUILD + cd cheroot-8.6.0 + DOCDIR=/home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/share/doc/python3-cheroot + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/share/doc/python3-cheroot + cp -pr LICENSE.md /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/share/doc/python3-cheroot + cp -pr README.rst /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/share/doc/python3-cheroot + RPM_EC=0 ++ jobs -p + exit 0 Provides: python-cheroot = 8.6.0-2.mga9 python3-cheroot = 8.6.0-2.mga9 python3.10-cheroot = 8.6.0-2.mga9 python3.10dist(cheroot) = 8.6 python3dist(cheroot) = 8.6 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.10 python3.10dist(jaraco-functools) python3.10dist(more-itertools) >= 2.6 python3.10dist(six) >= 1.11 Obsoletes: python-cheroot < 8.6.0-2.mga9 Processing files: python-cheroot-doc-8.6.0-2.mga9.noarch Executing(%doc): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.JCqDDA + umask 022 + cd /home/pterjan/rpmbuild/BUILD + cd cheroot-8.6.0 + DOCDIR=/home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/share/doc/python-cheroot-doc + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/share/doc/python-cheroot-doc + cp -pr html /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/share/doc/python-cheroot-doc + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.FHlaz9 + umask 022 + cd /home/pterjan/rpmbuild/BUILD + cd cheroot-8.6.0 + LICENSEDIR=/home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/share/licenses/python-cheroot-doc + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/share/licenses/python-cheroot-doc + cp -pr LICENSE.md /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch/usr/share/licenses/python-cheroot-doc + RPM_EC=0 ++ jobs -p + exit 0 Provides: python-cheroot-doc = 8.6.0-2.mga9 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch Wrote: /home/pterjan/rpmbuild/RPMS/noarch/python3-cheroot-8.6.0-2.mga9.noarch.rpm Wrote: /home/pterjan/rpmbuild/RPMS/noarch/python-cheroot-doc-8.6.0-2.mga9.noarch.rpm Executing(%clean): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.aLxV24 + umask 022 + cd /home/pterjan/rpmbuild/BUILD + cd cheroot-8.6.0 + /usr/bin/rm -rf /home/pterjan/rpmbuild/BUILDROOT/python-cheroot-8.6.0-2.mga9.noarch + RPM_EC=0 ++ jobs -p + exit 0 Executing(--clean): /bin/sh -e /home/pterjan/rpmbuild/tmp/rpm-tmp.V1tnDQ + umask 022 + cd /home/pterjan/rpmbuild/BUILD + rm -rf cheroot-8.6.0 + RPM_EC=0 ++ jobs -p + exit 0 D: [iurt_root_command] Success!