D: [iurt_root_command] chroot Installing /home/iurt/rpmbuild/SRPMS/python-cheroot-8.4.5-1.mga8.src.rpm Building target platforms: aarch64 Building for target aarch64 Executing(%prep): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.w0NMn4 + umask 022 + cd /home/iurt/rpmbuild/BUILD + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + cd /home/iurt/rpmbuild/BUILD + rm -rf cheroot-8.4.5 + /usr/bin/gzip -dc /home/iurt/rpmbuild/SOURCES/cheroot-8.4.5.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd cheroot-8.4.5 + /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/iurt/rpmbuild/tmp/rpm-tmp.WdCkd6 + umask 022 + cd /home/iurt/rpmbuild/BUILD + cd cheroot-8.4.5 + '[' 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/_compat.py -> build/lib/cheroot copying cheroot/__init__.py -> build/lib/cheroot copying cheroot/server.py -> build/lib/cheroot copying cheroot/connections.py -> build/lib/cheroot copying cheroot/makefile.py -> build/lib/cheroot copying cheroot/errors.py -> build/lib/cheroot copying cheroot/__main__.py -> build/lib/cheroot copying cheroot/cli.py -> build/lib/cheroot copying cheroot/testing.py -> build/lib/cheroot copying cheroot/wsgi.py -> build/lib/cheroot 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/test copying cheroot/test/conftest.py -> build/lib/cheroot/test copying cheroot/test/test_ssl.py -> build/lib/cheroot/test copying cheroot/test/test_wsgi.py -> build/lib/cheroot/test copying cheroot/test/helper.py -> build/lib/cheroot/test copying cheroot/test/__init__.py -> build/lib/cheroot/test copying cheroot/test/test_makefile.py -> build/lib/cheroot/test copying cheroot/test/test_conn.py -> build/lib/cheroot/test copying cheroot/test/webtest.py -> build/lib/cheroot/test copying cheroot/test/test_errors.py -> build/lib/cheroot/test copying cheroot/test/test_core.py -> build/lib/cheroot/test copying cheroot/test/test_cli.py -> build/lib/cheroot/test copying cheroot/test/test_dispatch.py -> build/lib/cheroot/test copying cheroot/test/test_server.py -> build/lib/cheroot/test copying cheroot/test/test__compat.py -> build/lib/cheroot/test creating build/lib/cheroot/ssl copying cheroot/ssl/__init__.py -> build/lib/cheroot/ssl copying cheroot/ssl/pyopenssl.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' reading manifest file 'cheroot.egg-info/SOURCES.txt' writing manifest file 'cheroot.egg-info/SOURCES.txt' + PYTHONPATH=/home/iurt/rpmbuild/BUILD/cheroot-8.4.5 + sphinx-build -vvv docs html Running Sphinx v3.4.1 [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] 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 0xffffa13ed8b0>, 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 0xffffa13ed700>, 'epub') [app] adding config value: ('epub_author', . at 0xffffa13ed550>, 'epub') [app] adding config value: ('epub_language', . at 0xffffa13ed820>, 'epub') [app] adding config value: ('epub_publisher', . at 0xffffa11f91f0>, 'epub') [app] adding config value: ('epub_copyright', . at 0xffffa11f9280>, '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 0xffffa11f9310>, '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 0xffffa11f93a0>, '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 0xffffa11f9430>, 'html', []) [app] adding config value: ('html_short_title', . at 0xffffa11f94c0>, '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_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', 'table', '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 'builder-inited' (500): [id=8] [app] connecting event 'html-page-context' (500): [id=9] [app] setting up extension: 'sphinx.ext.mathjax' [app] adding html_math_renderer: mathjax, (, None), (, None) [app] adding config value: ('mathjax_path', 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML', '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] connecting event 'env-updated' (500): [id=10] [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=11] [app] connecting event 'config-inited' (800): [id=12] [app] connecting event 'builder-inited' (500): [id=13] [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 config value: ('linkcheck_ignore', [], 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] 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 0xffffa0e13e50>, '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] 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=14] [app] connecting event 'config-inited' (800): [id=15] [app] connecting event 'config-inited' (800): [id=16] [app] connecting event 'config-inited' (800): [id=17] [app] connecting event 'config-inited' (800): [id=18] [app] connecting event 'env-get-outdated' (500): [id=19] [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 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): .setDebugFlags at 0xffffa0d3c550> [id=20] [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] connecting event 'object-description-transform' (500): [id=21] [app] connecting event 'missing-reference' (900): [id=22] [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=23] [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=24] [app] setting up extension: 'sphinx.parsers' [app] adding search source_parser: [app] setting up extension: 'sphinx.registry' [app] connecting event 'config-inited' (800): [id=25] [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] 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] adding transform: [app] connecting event 'builder-inited' (500): [id=26] [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=27] [app] connecting event 'env-merge-info' (500): > [id=28] [app] connecting event 'env-purge-doc' (500): > [id=29] [app] connecting event 'env-get-updated' (500): > [id=30] [app] connecting event 'env-get-outdated' (500): > [id=31] [app] setting up extension: 'sphinx.environment.collectors.asset' [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] 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] setting up extension: 'sphinx.environment.collectors.metadata' [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.title' [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.toctree' [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: 'sphinxcontrib.applehelp' [app] setting up extension: 'sphinx.builders.html' [app] adding builder: [app] adding config value: ('applehelp_bundle_name', . at 0xffffa0c71e50>, '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 0xffffa0a12ee0>, '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 0xffffa0a171f0>, 'applehelp') [app] adding config value: ('applehelp_locale', . at 0xffffa0a17280>, 'applehelp') [app] adding config value: ('applehelp_title', . at 0xffffa0a12dc0>, 'applehelp') [app] adding config value: ('applehelp_codesign_identity', . at 0xffffa0a17310>, 'applehelp') [app] adding config value: ('applehelp_codesign_flags', . at 0xffffa0a173a0>, '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 0xffffa0a17160>, '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 0xffffa0a12f70>, '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.8/site-packages/alabaster' [app] connecting event 'html-page-context' (500): [id=57] [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_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_type_aliases', {}, True) [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] connecting event 'config-inited' (800): [id=58] [app] setting up extension: 'sphinx.ext.autodoc.type_comment' [app] connecting event 'autodoc-before-process-signature' (500): [id=59] [app] setting up extension: 'sphinx.ext.autodoc.typehints' [app] connecting event 'autodoc-process-signature' (500): [id=60] [app] connecting event 'object-description-transform' (500): [id=61] [app] setting up extension: 'sphinx.ext.extlinks' [app] adding config value: ('extlinks', {}, 'env') [app] connecting event 'builder-inited' (500): [id=62] [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] connecting event 'config-inited' (800): [id=63] [app] connecting event 'builder-inited' (500): [id=64] [app] connecting event 'missing-reference' (500): [id=65] [app] setting up extension: 'jaraco.packaging.sphinx' [app] adding config value: ('package_url', '', '') [app] connecting event 'builder-inited' (500): [id=66] [app] connecting event 'html-page-context' (500): [id=67] [app] setting up extension: 'sphinx_tabs.tabs' [app] adding config value: ('sphinx_tabs_nowarn', False, '') [app] adding config value: ('sphinx_tabs_valid_builders', [], '') [app] adding directive: ('tabs', ) [app] adding directive: ('tab', ) [app] adding directive: ('group-tab', ) [app] adding directive: ('code-tab', ) [app] adding stylesheet: 'sphinx_tabs/semantic-ui-2.4.1/segment.min.css' [app] adding stylesheet: 'sphinx_tabs/semantic-ui-2.4.1/menu.min.css' [app] adding stylesheet: 'sphinx_tabs/semantic-ui-2.4.1/tab.min.css' [app] adding js_file: 'sphinx_tabs/semantic-ui-2.4.1/tab.min.js', {} [app] adding js_file: 'sphinx_tabs/tabs.js', {} [app] adding stylesheet: 'sphinx_tabs/tabs.css' [app] connecting event 'html-page-context' (500): [id=68] [app] connecting event 'build-finished' (500): [id=69] [app] setting up extension: 'sphinxcontrib.spelling' Initializing Spelling Checker 7.1.0 [app] adding builder: [app] adding directive: ('spelling', ) [app] adding environment collector: [app] connecting event 'doctree-read' (500): > [id=70] [app] connecting event 'env-merge-info' (500): > [id=71] [app] connecting event 'env-purge-doc' (500): > [id=72] [app] connecting event 'env-get-updated' (500): > [id=73] [app] connecting event 'env-get-outdated' (500): > [id=74] [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] 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] emitting event: 'builder-inited'() [app] adding role: ('issue', .role at 0xffffa03f4b80>) [app] adding role: ('pr', .role at 0xffffa03a3f70>) [app] adding role: ('commit', .role at 0xffffa03aa0d0>) [app] adding role: ('cp-issue', .role at 0xffffa03aa1f0>) [app] adding role: ('cp-pr', .role at 0xffffa03aa310>) [app] adding role: ('gh', .role at 0xffffa03aa430>) [app] adding role: ('user', .role at 0xffffa099aaf0>) loading intersphinx inventory from https://docs.python.org/3/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')) loading intersphinx inventory from https://docs.python.org/2/objects.inv... 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://docs.cherrypy.org/en/latest/objects.inv... WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://docs.cherrypy.org/en/latest/objects.inv' not fetchable due to : HTTPSConnectionPool(host='docs.cherrypy.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')) loading intersphinx inventory from https://trustme.readthedocs.io/en/latest/objects.inv... loading intersphinx inventory from https://ddt.readthedocs.io/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')) 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://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')) 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')) building [mo]: targets for 0 po files that are out of date building [html]: targets for 14 source files that are out of date updating environment: [app] emitting event: 'env-get-outdated'(, {'pkg/cheroot.ssl.builtin', 'pkg/ch [new config] 14 added, 0 changed, 0 removed [app] emitting event: 'env-before-read-docs'(, ['contribute', 'history', 'index', reading sources... [ 7%] 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:27: (INFO/1) Enumerated list start value not ordinal-1: “2” (ordinal 2) [filtered system message] reading sources... [ 14%] history [app] emitting event: 'env-purge-doc'(, 'history') [app] emitting event: 'source-read'('history', [':tocdepth: 2\n\n.. _changes:\n\nHistory\n*******\n\n.. include:: ../CHANGES.rst\n']) [i18n] PATCH: 'docutils.nodes.field_name' to have source and line: tocdepth [app] emitting event: 'doctree-read'(
>,) CHANGES.rst:1: (ERROR/3) There is no `v8.4.5` in Git .. scm-version-title:: v8.4.5 [filtered system message] CHANGES.rst:13: (ERROR/3) There is no `v8.4.4` in Git .. scm-version-title:: v8.4.4 [filtered system message] CHANGES.rst:25: (ERROR/3) There is no `v8.4.3` in Git .. scm-version-title:: v8.4.3 [filtered system message] CHANGES.rst:38: (ERROR/3) There is no `v8.4.2` in Git .. scm-version-title:: v8.4.2 [filtered system message] CHANGES.rst:47: (ERROR/3) There is no `v8.4.1` in Git .. scm-version-title:: v8.4.1 [filtered system message] CHANGES.rst:54: (ERROR/3) There is no `v8.4.0` in Git .. scm-version-title:: v8.4.0 [filtered system message] CHANGES.rst:63: (ERROR/3) There is no `v8.3.1` in Git .. scm-version-title:: v8.3.1 [filtered system message] CHANGES.rst:70: (ERROR/3) There is no `v8.3.0` in Git .. scm-version-title:: v8.3.0 [filtered system message] CHANGES.rst:78: (ERROR/3) There is no `v8.2.1` in Git .. scm-version-title:: v8.2.1 [filtered system message] CHANGES.rst:84: (ERROR/3) There is no `v8.2.0` in Git .. scm-version-title:: v8.2.0 [filtered system message] CHANGES.rst:92: (ERROR/3) There is no `v8.1.0` in Git .. scm-version-title:: v8.1.0 [filtered system message] CHANGES.rst:99: (ERROR/3) There is no `v8.0.0` in Git .. scm-version-title:: v8.0.0 [filtered system message] CHANGES.rst:109: (ERROR/3) There is no `v7.0.0` in Git .. scm-version-title:: v7.0.0 [filtered system message] CHANGES.rst:118: (ERROR/3) There is no `v6.6.0` in Git .. scm-version-title:: v6.6.0 [filtered system message] CHANGES.rst:127: (ERROR/3) There is no `v6.5.8` in Git .. scm-version-title:: v6.5.8 [filtered system message] CHANGES.rst:134: (ERROR/3) There is no `v6.5.7` in Git .. scm-version-title:: v6.5.7 [filtered system message] CHANGES.rst:145: (ERROR/3) There is no `v6.5.6` in Git .. scm-version-title:: v6.5.6 [filtered system message] CHANGES.rst:151: (ERROR/3) There is no `v6.5.5` in Git .. scm-version-title:: v6.5.5 [filtered system message] CHANGES.rst:160: (ERROR/3) There is no `v6.5.4` in Git .. scm-version-title:: v6.5.4 [filtered system message] CHANGES.rst:197: (ERROR/3) There is no `v6.5.3` in Git .. scm-version-title:: v6.5.3 [filtered system message] CHANGES.rst:202: (ERROR/3) There is no `v6.5.2` in Git .. scm-version-title:: v6.5.2 [filtered system message] CHANGES.rst:212: (ERROR/3) There is no `v6.5.1` in Git .. scm-version-title:: v6.5.1 [filtered system message] CHANGES.rst:219: (ERROR/3) There is no `v6.5.0` in Git .. scm-version-title:: v6.5.0 [filtered system message] CHANGES.rst:225: (ERROR/3) There is no `v6.4.0` in Git .. scm-version-title:: v6.4.0 [filtered system message] CHANGES.rst:233: (ERROR/3) There is no `v6.3.3` in Git .. scm-version-title:: v6.3.3 [filtered system message] CHANGES.rst:239: (ERROR/3) There is no `v6.3.2` in Git .. scm-version-title:: v6.3.2 [filtered system message] CHANGES.rst:245: (ERROR/3) There is no `v6.3.1` in Git .. scm-version-title:: v6.3.1 [filtered system message] CHANGES.rst:251: (ERROR/3) There is no `v6.3.0` in Git .. scm-version-title:: v6.3.0 [filtered system message] CHANGES.rst:257: (ERROR/3) There is no `v6.2.4` in Git .. scm-version-title:: v6.2.4 [filtered system message] CHANGES.rst:268: (ERROR/3) There is no `v6.2.3` in Git .. scm-version-title:: v6.2.3 [filtered system message] CHANGES.rst:274: (ERROR/3) There is no `v6.2.2` in Git .. scm-version-title:: v6.2.2 [filtered system message] CHANGES.rst:280: (ERROR/3) There is no `v6.2.1` in Git .. scm-version-title:: v6.2.1 [filtered system message] CHANGES.rst:287: (ERROR/3) There is no `v6.2.0` in Git .. scm-version-title:: v6.2.0 [filtered system message] CHANGES.rst:308: (ERROR/3) There is no `v6.1.2` in Git .. scm-version-title:: v6.1.2 [filtered system message] CHANGES.rst:317: (ERROR/3) There is no `v6.1.1` in Git .. scm-version-title:: v6.1.1 [filtered system message] CHANGES.rst:325: (ERROR/3) There is no `v6.1.0` in Git .. scm-version-title:: v6.1.0 [filtered system message] CHANGES.rst:352: (ERROR/3) There is no `v6.0.0` in Git .. scm-version-title:: v6.0.0 [filtered system message] CHANGES.rst:360: (ERROR/3) There is no `v5.11.0` in Git .. scm-version-title:: v5.11.0 [filtered system message] CHANGES.rst:370: (ERROR/3) There is no `v5.10.0` in Git .. scm-version-title:: v5.10.0 [filtered system message] CHANGES.rst:380: (ERROR/3) There is no `v5.9.2` in Git .. scm-version-title:: v5.9.2 [filtered system message] CHANGES.rst:385: (ERROR/3) There is no `v5.9.1` in Git .. scm-version-title:: v5.9.1 [filtered system message] CHANGES.rst:391: (ERROR/3) There is no `v5.9.0` in Git .. scm-version-title:: v5.9.0 [filtered system message] CHANGES.rst:405: (ERROR/3) There is no `v5.8.3` in Git .. scm-version-title:: v5.8.3 [filtered system message] CHANGES.rst:422: (ERROR/3) There is no `v5.8.2` in Git .. scm-version-title:: v5.8.2 [filtered system message] CHANGES.rst:429: (ERROR/3) There is no `v5.8.1` in Git .. scm-version-title:: v5.8.1 [filtered system message] CHANGES.rst:441: (ERROR/3) There is no `v5.8.0` in Git .. scm-version-title:: v5.8.0 [filtered system message] CHANGES.rst:464: (ERROR/3) There is no `v5.7.0` in Git .. scm-version-title:: v5.7.0 [filtered system message] CHANGES.rst:501: (ERROR/3) There is no `v5.6.0` in Git .. scm-version-title:: v5.6.0 [filtered system message] CHANGES.rst:515: (ERROR/3) There is no `v5.5.2` in Git .. scm-version-title:: v5.5.2 [filtered system message] CHANGES.rst:525: (ERROR/3) There is no `v5.5.1` in Git .. scm-version-title:: v5.5.1 [filtered system message] CHANGES.rst:542: (ERROR/3) There is no `v5.5.0` in Git .. scm-version-title:: v5.5.0 [filtered system message] CHANGES.rst:561: (ERROR/3) There is no `v5.4.0` in Git .. scm-version-title:: v5.4.0 [filtered system message] CHANGES.rst:566: (ERROR/3) There is no `v5.3.0` in Git .. scm-version-title:: v5.3.0 [filtered system message] CHANGES.rst:577: (ERROR/3) There is no `v5.2.0` in Git .. scm-version-title:: v5.2.0 [filtered system message] CHANGES.rst:588: (ERROR/3) There is no `v5.1.0` in Git .. scm-version-title:: v5.1.0 [filtered system message] CHANGES.rst:600: (ERROR/3) There is no `v5.0.1` in Git .. scm-version-title:: v5.0.1 [filtered system message] CHANGES.rst:605: (ERROR/3) There is no `v5.0.0` in Git .. scm-version-title:: v5.0.0 [filtered system message] reading sources... [ 21%] 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... [ 28%] 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:: [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot._compat.rst:4: input: .. automodule:: cheroot._compat :members: :undoc-members: :show-inheritance: [autodoc] import cheroot._compat [autodoc] import cheroot._compat => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot._compat', , [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 [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, {'memb [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': , 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': < [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 Bases: :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(format, *, shape) :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=None) :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... [ 35%] 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:: che [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.errors.rst:4: input: .. automodule:: cheroot.errors :members: :undoc-members: :show-inheritance: [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': , 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-docstring'('exception', 'cheroot.errors.MaxSizeExceeded', , {'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': , True, {'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', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 42%] 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 [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.makefile.rst:4: input: .. automodule:: cheroot.makefile :members: :undoc-members: :show-inheritance: [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-docstring'('class', 'cheroot.makefile.BufferedWriter', , {'members': [app] emitting event: 'autodoc-skip-member'('class', '__abstractmethods__', frozenset(), True, {'members': , True, {'members': , True, {'me [app] emitting event: 'autodoc-skip-member'('class', 'write', , False, {'members': [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': , True, {'members': , True, {'members': , True, {'members': , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': [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': , True, {'members': , True, {'members': , False, {'members': , False, {'members': [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': , True, {'members': , True, {'members': , False, {'members': [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: :class:`_pyio.BufferedWriter` Faux file object attached to a socket object. .. 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: :class:`object` Faux file object attached to a socket object. .. 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: :class:`_pyio.BufferedReader` Socket stream reader. .. 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: :class:`cheroot.makefile.BufferedWriter` Socket stream writer. .. py:method:: StreamWriter.write(val, *args, **kwargs) :module: cheroot.makefile Capture bytes written. [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', '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', '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: 'doctree-read'(>,) reading sources... [ 50%] 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:: che [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.server.rst:4: input: .. automodule:: cheroot.server :members: :undoc-members: :show-inheritance: [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', '__all__', ('HTTPRequest', 'HTTPConnection', 'HTTPServer', 'HeaderReader', 'DropUnderscor [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/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/__pycache__/server.cpython [app] emitting event: 'autodoc-skip-member'('module', '__doc__', '\nA high-speed, production ready, thread pooled, generic HTTP server.\n\nFor [app] emitting event: 'autodoc-skip-member'('module', '__file__', '/home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/server.py', True, {'members' [app] emitting event: 'autodoc-skip-member'('module', '__loader__', <_frozen_importlib_external.SourceFileLoader object at 0xffff9e70d1f0>, Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , True, {'members': , True, {'me [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, {'me [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, {'membe [app] emitting event: 'autodoc-skip-member'('module', 'threadpool', , True, {'members': , True, {'memb [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': , True, {'members': , True, {'members': , True, {'members': , False, {'members': , False, {'members': , False, [app] emitting event: 'autodoc-skip-member'('class', 'readline', , False, {'members': , False, {'members': [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', , Tr [autodoc] from cheroot.server import Gateway [autodoc] import cheroot.server => [autodoc] getattr(_, 'Gateway') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.server.Gateway', , {'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': , False, {'members': , True, {'members': , True, {'members': , [app] emitting event: 'autodoc-skip-member'('class', '_conditional_error', , True [app] emitting event: 'autodoc-skip-member'('class', '_handle_no_ssl', , True, {'memb [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 [autodoc] import cheroot.server => [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': , 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': , False, {'members': , True, {'members': , True, {'members': , True, {'members': , [app] emitting event: 'autodoc-skip-member'('class', '_run_in_thread', , True, {'members' [app] emitting event: 'autodoc-skip-member'('class', 'bind', , 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', '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': , False, {'members': , 'und [app] emitting event: 'autodoc-skip-member'('class', 'version', 'Cheroot/8.4.5', 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 [autodoc] import cheroot.server => [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.gateway [autodoc] import cheroot.server => [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(_, '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.tick [autodoc] import cheroot.server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] getattr(_, 'tick') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('method', 'cheroot.server.HTTPServer.tick', , {'members [app] emitting event: 'autodoc-process-docstring'('method', 'cheroot.server.HTTPServer.tick', , {'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.4.5' [app] emitting event: 'autodoc-process-signature'('attribute', 'cheroot.server.HTTPServer.version', 'Cheroot/8.4.5', {'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': , True, {'members': , True, {'members': , True, {'members' [app] emitting event: 'autodoc-skip-member'('class', '_transform_key', , True, {'member [autodoc] from cheroot.server import KnownLengthRFile [autodoc] import cheroot.server => [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-docstring'('class', 'cheroot.server.KnownLengthRFile', , {'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-docstring'('class', 'cheroot.server.SizeCheckWrapper', , {'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', , True, {'memb [app] emitting event: 'autodoc-skip-member'('class', 'close', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': < [autodoc] from cheroot.server import SizeCheckWrapper.close [autodoc] import cheroot.server => [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', while True: tick() # This blocks until a request comes in: child = socket.accept() conn = HTTPConnection(child, ...) server.requests.put(conn) 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 >>> 'HTTPServer' in globals() True .. py:class:: ChunkedRFile(rfile, maxlen, bufsize=8192) :module: cheroot.server Bases: :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.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 int size: amount of data to read :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 int size: minimum amount of data to read :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 int sizehint: hint of minimum amount of data to read :returns: lines of bytes read from ``rfile`` :rtype: list[bytes] .. py:class:: DropUnderscoreHeaderReader() :module: cheroot.server Bases: :class:`cheroot.server.HeaderReader` Custom HeaderReader to exclude any headers with underscores in them. .. py:class:: Gateway(req) :module: cheroot.server Bases: :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: :class:`object` An HTTP connection (active socket). .. py:attribute:: HTTPConnection.RequestHandlerClass :module: cheroot.server alias of :class:`cheroot.server.HTTPRequest` .. 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:method:: HTTPConnection.peer_gid :module: cheroot.server :property: Return the group id of the connected peer process. .. py:method:: HTTPConnection.peer_group :module: cheroot.server :property: Return the group of the connected peer process. .. py:method:: HTTPConnection.peer_pid :module: cheroot.server :property: Return the id of the connected peer process. .. py:method:: HTTPConnection.peer_uid :module: cheroot.server :property: Return the user id of the connected peer process. .. py:method:: HTTPConnection.peer_user :module: cheroot.server :property: 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: :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: :class:`object` An HTTP server. .. py:attribute:: HTTPServer.ConnectionClass :module: cheroot.server The class to use for handling HTTP connections. alias of :class:`cheroot.server.HTTPConnection` .. py:method:: HTTPServer.bind(family, type, proto=0) :module: cheroot.server Create (or recreate) the actual socket object. .. py:method:: HTTPServer.bind_addr :module: cheroot.server :property: 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:method:: HTTPServer.can_add_keepalive_connection :module: cheroot.server :property: 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.gateway :module: cheroot.server :value: None A Gateway instance. .. py:method:: HTTPServer.interrupt :module: cheroot.server :property: 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: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:method:: HTTPServer.tick() :module: cheroot.server Accept a new connection and put it on the Queue. .. 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.4.5' A version string for the HTTPServer. .. py:class:: HeaderReader() :module: cheroot.server Bases: :class:`object` Object for reading headers from an HTTP request. Interface and default implementation. .. py:class:: KnownLengthRFile(rfile, content_length) :module: cheroot.server Bases: :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 int size: amount of data to read :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 int size: minimum amount of data to read :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 int sizehint: hint of minimum amount of data to read :returns: lines of bytes read from ``rfile`` :rtype: list[bytes] .. py:class:: SizeCheckWrapper(rfile, maxlen) :module: cheroot.server Bases: :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.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 int size: amount of data to read :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 int size: minimum amount of data to read :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 int sizehint: hint of minimum amount of data to read :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', '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', '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', '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', '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', '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', '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', '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', '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', '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', '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', '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... [ 57%] pkg/cheroot.ssl [app] emitting event: 'env-purge-doc'(, 'pkg/cheroot.ssl') [app] emitting event: 'source-read'('pkg/cheroot.ssl', ['``cheroot.ssl`` module\n~~~~~~~~~~~~~~~~~~~~~~\n\n.. automodule:: cheroot.ssl\ [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.ssl.rst:4: input: .. automodule:: cheroot.ssl :members: :undoc-members: :show-inheritance: [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': , True, {'members': , True, {'members': , True, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'members': [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: :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: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', '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... [ 64%] 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.. a [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.ssl.builtin.rst:4: input: .. automodule:: cheroot.ssl.builtin :members: :undoc-members: :show-inheritance: [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': , True, [app] emitting event: 'autodoc-skip-member'('module', '_loopback_for_cert', , True, {'members': [app] emitting event: 'autodoc-skip-member'('module', '_loopback_for_cert_thread', , True [app] emitting event: 'autodoc-skip-member'('module', '_parse_cert', , True, {'members': , True, {'members': , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'socket', , False, {'members': , False, {'members': , False, {'members': , False, {'members': , False, {'memb [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-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': , True, {'members': , [app] emitting event: 'autodoc-skip-member'('class', '_make_env_dn_dict', , Tru [app] emitting event: 'autodoc-skip-member'('class', '_make_env_san_dict', , T [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 [app] emitting event: 'autodoc-process-docstring'('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 [app] emitting event: 'autodoc-process-docstring'('attribute', 'cheroot.ssl.builtin.BuiltinSSLAdapter.CERT_KEY_TO_LDAP_CODE', {'countryName': 'C', 's [autodoc] from cheroot.ssl.builtin import BuiltinSSLAdapter.bind [autodoc] import cheroot.ssl.builtin => [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 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: :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: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:method:: BuiltinSSLAdapter.context :module: cheroot.ssl.builtin :property: :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. [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', 'class', ) [app] emitting event: 'doctree-read'(>,) reading sources... [ 71%] 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 [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.ssl.pyopenssl.rst:4: input: .. automodule:: cheroot.ssl.pyopenssl :members: :undoc-members: :show-inheritance: [autodoc] import cheroot.ssl.pyopenssl [autodoc] import cheroot.ssl.pyopenssl => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.ssl.pyopenssl', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'SSL', , Fal [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/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py', True, {'m [app] emitting event: 'autodoc-skip-member'('module', '__loader__', <_frozen_importlib_external.SourceFileLoader object at 0xffff9e36ac40>, Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , 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', 'errors', , 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, {'memb [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-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 0xffff9e09ee50> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09eca0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099040> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09edc0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099940> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09ef70> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099430> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e0990d0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09e8b0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099670> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099160> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e0991f0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099280> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099af0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09ed30> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e0993a0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09e940> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09eb80> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09eaf0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09ec10> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09e9d0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e0999d0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e0998b0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e0994c0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099820> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09eee0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099310> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099a60> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099b80> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e0995e0> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099550> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099700> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e099790> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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 0xffff9e09ea60> [app] emitting event: 'autodoc-before-process-signature'(.lock_decorator..proxy_wrapper at 0xffff9e [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', , True, {'members' [app] emitting event: 'autodoc-skip-member'('class', '_safe_call', , True, {'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.readline [autodoc] import cheroot.ssl.pyopenssl => [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', , True, {'members': [autodoc] getattr(_, 'SSLFileobjectStreamWriter') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, True) [app] emitting event: 'autodoc-process-signature'('class', 'cheroot.ssl.pyopenssl.SSLFileobjectStreamWriter', , True, {'members': [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-docstring'('class', 'cheroot.ssl.pyopenssl.pyOpenSSLAdapter', [app] emitting event: 'autodoc-skip-member'('class', '__abstractmethods__', frozenset(), True, {'members': , True, {'members': , True, {'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(_, '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. .. py:class:: SSLConnection(*args) :module: cheroot.ssl.pyopenssl Bases: :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:method:: SSLConnection.family :module: cheroot.ssl.pyopenssl :property: .. 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: :class:`object` Metaclass for generating a bunch of proxy methods. .. py:class:: SSLFileobjectMixin() :module: cheroot.ssl.pyopenssl Bases: :class:`object` Base mixin for a TLS socket stream. .. 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: :class:`cheroot.ssl.pyopenssl.SSLFileobjectMixin`, :class:`cheroot.makefile.StreamReader` SSL file object attached to a socket object. .. py:class:: SSLFileobjectStreamWriter(sock, mode='w', bufsize=8192) :module: cheroot.ssl.pyopenssl Bases: :class:`cheroot.ssl.pyopenssl.SSLFileobjectMixin`, :class:`cheroot.makefile.StreamWriter` SSL file object attached to a socket object. .. py:class:: pyOpenSSLAdapter(certificate, private_key, certificate_chain=None, ciphers=None) :module: cheroot.ssl.pyopenssl Bases: :class:`cheroot.ssl.Adapter` A wrapper for integrating pyOpenSSL with Cheroot. .. 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. [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', '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', 'attribute', ) [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', 'class', >) [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... [ 78%] 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\nchero [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:10: input: .. automodule:: cheroot.test.conftest :members: :undoc-members: :show-inheritance: [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', , F [app] emitting event: 'autodoc-skip-member'('module', 'threading', , False, {'memb [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', >) [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:18: input: .. automodule:: cheroot.test.helper :members: :undoc-members: :show-inheritance: [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, {'members [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, [app] emitting event: 'autodoc-skip-member'('module', 'log', , False, {'members': , False, {'m [app] emitting event: 'autodoc-skip-member'('module', 'os', , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'sys', , False, {'members': , False, {'memb [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-docstring'('class', 'cheroot.test.helper.CherootWebCase', , {'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': , 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': , 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': , 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: :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: :class:`object` WSGI app for tests. .. py:class:: Request(environ) :module: cheroot.test.helper Bases: :class:`object` HTTP request container. .. py:class:: Response() :module: cheroot.test.helper Bases: :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', >) [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:26: input: .. automodule:: cheroot.test.test__compat :members: :undoc-members: :show-inheritance: [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': , F [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', >) [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:34: input: .. automodule:: cheroot.test.test_conn :members: :undoc-members: :show-inheritance: [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' [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:42: input: .. automodule:: cheroot.test.test_core :members: :undoc-members: :show-inheritance: [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', 'IS_CIRCLE_CI_ENV', False, False, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , True, {'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': , False, {'members': , F [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-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-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-docstring'('class', 'cheroot.test.test_core.HelloController', [app] emitting event: 'autodoc-skip-member'('class', '__doc__', 'Controller for serving WSGI apps.', True, {'members': , True, {'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.asterisk [autodoc] import cheroot.test.test_core => [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(_, '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:: 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', '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', >) [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:50: input: .. automodule:: cheroot.test.test_dispatch :members: :undoc-members: :show-inheritance: [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', >) [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:58: input: .. automodule:: cheroot.test.test_errors :members: :undoc-members: :show-inheritance: [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': , F [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', >) [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:66: input: .. automodule:: cheroot.test.test_makefile :members: :undoc-members: :show-inheritance: [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-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', >) [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:74: input: .. automodule:: cheroot.test.test_server :members: :undoc-members: :show-inheritance: [autodoc] import cheroot.test.test_server [autodoc] import cheroot.test.test_server => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.test.test_server', , False, {'members': , False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'IS_MACOS', False, False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'IS_UID_GID_RESOLVABLE', True, False, {'members': , True, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , False, {'members': , False, {'members': , False, {'members': < [app] emitting event: 'autodoc-skip-member'('module', 'non_macos_sock_test', MarkDecorator(mark=Mark(name='skipif', args=(False,), kwargs={'rea [app] emitting event: 'autodoc-skip-member'('module', 'ntob', , False, {'members': , False, {'members': , False, [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', , F [app] emitting event: 'autodoc-skip-member'('module', 'requests', , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'socket', , False, {'members': , False, {'members [app] emitting event: 'autodoc-skip-member'('module', 'test_bind_addr_inet', , False, {'members [app] emitting event: 'autodoc-skip-member'('module', 'test_bind_addr_unix', , False, {'members [app] emitting event: 'autodoc-skip-member'('module', 'test_bind_addr_unix_abstract', [app] emitting event: 'autodoc-skip-member'('module', 'test_high_number_of_file_descriptors', , False, [app] emitting event: 'autodoc-skip-member'('module', 'test_peercreds_unix_sock_with_lookup', , Fa [app] emitting event: 'autodoc-skip-member'('module', 'threading', , False, {'memb [app] emitting event: 'autodoc-skip-member'('module', 'unix_abstract_sock', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'unix_file_sock', , False, {'members': , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'uuid', , False, {'members': [autodoc] getattr(_, 'Gateway') [autodoc] => [autodoc] from cheroot.test.test_server import HTTPServer [autodoc] import cheroot.test.test_server => [autodoc] getattr(_, 'HTTPServer') [autodoc] => [autodoc] from cheroot.test.test_server import bton [autodoc] import cheroot.test.test_server => [autodoc] getattr(_, 'bton') [autodoc] => [autodoc] from cheroot.test.test_server import closing [autodoc] import cheroot.test.test_server => [autodoc] getattr(_, 'closing') [autodoc] => [autodoc] from cheroot.test.test_server import many_open_sockets [autodoc] import cheroot.test.test_server => [autodoc] getattr(_, 'many_open_sockets') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.many_open_sockets', [autodoc] getattr(_, 'ntob') [autodoc] => [autodoc] from cheroot.test.test_server import peercreds_enabled_server [autodoc] import cheroot.test.test_server => [autodoc] getattr(_, 'peercreds_enabled_server') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.peercreds_enabled_server', [autodoc] getattr(_, 'resource_limit') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.resource_limit', , [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.test_server.resource_limit', , [autodoc] from cheroot.test.test_server import test_bind_addr_inet [autodoc] import cheroot.test.test_server => [autodoc] getattr(_, 'test_bind_addr_inet') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.test_bind_addr_inet', [autodoc] getattr(_, 'test_bind_addr_unix') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.test_bind_addr_unix', [autodoc] getattr(_, 'test_bind_addr_unix_abstract') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.test_bind_addr_unix_abstract', [autodoc] getattr(_, 'test_high_number_of_file_descriptors') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.test_high_number_of_file_descriptors', [autodoc] getattr(_, 'test_peercreds_unix_sock') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.test_peercreds_unix_sock', [autodoc] getattr(_, 'test_peercreds_unix_sock_with_lookup') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.test_peercreds_unix_sock_with_lookup', [autodoc] getattr(_, 'test_prepare_makes_server_ready') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.test_prepare_makes_server_ready', [autodoc] getattr(_, 'test_stop_interrupts_serve') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.test_stop_interrupts_serve', [autodoc] getattr(_, 'unix_abstract_sock') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.unix_abstract_sock', [autodoc] getattr(_, 'unix_file_sock') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.unix_file_sock', , [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.test_server.unix_file_sock', , [autodoc] from cheroot.test.test_server import unix_sock_file [autodoc] import cheroot.test.test_server => [autodoc] getattr(_, 'unix_sock_file') [autodoc] => [app] emitting event: 'autodoc-before-process-signature'(, False) [app] emitting event: 'autodoc-process-signature'('function', 'cheroot.test.test_server.unix_sock_file', , [app] emitting event: 'autodoc-process-docstring'('function', 'cheroot.test.test_server.unix_sock_file', , [autodoc] output: .. py:module:: cheroot.test.test_server Tests for the HTTP server. .. py:function:: many_open_sockets(resource_limit) :module: cheroot.test.test_server Allocate a lot of file descriptors by opening dummy sockets. .. py:function:: peercreds_enabled_server(http_server, unix_sock_file) :module: cheroot.test.test_server Construct a test server with ``peercreds_enabled``. .. py:function:: resource_limit(request) :module: cheroot.test.test_server Set the resource limit two times bigger then requested. .. py:function:: test_bind_addr_inet(http_server, ip_addr) :module: cheroot.test.test_server Check that bound IP address is stored in server. .. py:function:: test_bind_addr_unix(http_server, unix_sock_file) :module: cheroot.test.test_server Check that bound UNIX socket address is stored in server. .. py:function:: test_bind_addr_unix_abstract(http_server, unix_abstract_sock) :module: cheroot.test.test_server Check that bound UNIX abstract socket address is stored in server. .. py:function:: test_high_number_of_file_descriptors(resource_limit) :module: cheroot.test.test_server Test the server does not crash with a high file-descriptor value. This test shouldn't cause a server crash when trying to access file-descriptor higher than 1024. The earlier implementation used to rely on ``select()`` syscall that doesn't support file descriptors with numbers higher than 1024. .. py:function:: test_peercreds_unix_sock(peercreds_enabled_server) :module: cheroot.test.test_server Check that ``PEERCRED`` lookup works when enabled. .. py:function:: test_peercreds_unix_sock_with_lookup(peercreds_enabled_server) :module: cheroot.test.test_server Check that ``PEERCRED`` resolution works when enabled. .. py:function:: test_prepare_makes_server_ready() :module: cheroot.test.test_server Check that prepare() makes the server ready, and stop() clears it. .. py:function:: test_stop_interrupts_serve() :module: cheroot.test.test_server Check that stop() interrupts running of serve(). .. py:function:: unix_abstract_sock() :module: cheroot.test.test_server Return an abstract UNIX socket address. .. py:function:: unix_file_sock() :module: cheroot.test.test_server Yield a unix file socket. .. py:function:: unix_sock_file(request) :module: cheroot.test.test_server Check that bound UNIX socket address is stored in server. [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', >) [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:82: input: .. automodule:: cheroot.test.test_ssl :members: :undoc-members: :show-inheritance: [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': , [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': [app] emitting event: 'autodoc-skip-member'('module', 'PY27', False, False, {'members': , 'un [app] emitting event: 'autodoc-skip-member'('module', 'PY3', True, False, {'members': , 'undo [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/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/test/__pycache__/test_ssl. [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': , True, {'members': , True, {'members': : 0, [app] emitting event: 'autodoc-skip-member'('module', '_thread_except_hook', , True, {'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, {'memb [app] emitting event: 'autodoc-skip-member'('module', 'get_ssl_adapter_class', , False, {'mem [app] emitting event: 'autodoc-skip-member'('module', 'json', , 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': , F [app] emitting event: 'autodoc-skip-member'('module', 'requests', , False, {'members': [app] emitting event: 'autodoc-skip-member'('module', 'ssl', , False, {'members': , False, {'m [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, {'memb [app] emitting event: 'autodoc-skip-member'('module', 'time', , False, {'members': , [app] emitting event: 'autodoc-skip-member'('module', 'tls_certificate', , False, {'members': , False, {'members': , False, {'memb [app] emitting event: 'autodoc-skip-member'('module', 'trustme', [autodoc] from cheroot.test.test_ssl import Gateway_10 [autodoc] import cheroot.test.test_ssl => [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', , 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(_, '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: :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:: 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', >) [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:90: input: .. automodule:: cheroot.test.webtest :members: :undoc-members: :show-inheritance: [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': , True, {'members': , False, {'members': , False, {'members': , False, {'memb [app] emitting event: 'autodoc-skip-member'('module', 'getchar', , False, {'members': , False, [app] emitting event: 'autodoc-skip-member'('module', 'ignore_all', False, False, {'members': , False, {'members': , F [app] emitting event: 'autodoc-skip-member'('module', 'json', , 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, {'memb [app] emitting event: 'autodoc-skip-member'('module', 'tty', , False, {'members': , False, [app] emitting event: 'autodoc-skip-member'('module', 'urllib_parse', , Fals [app] emitting event: 'autodoc-skip-member'('module', 'warnings', , False, {'members [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-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-docstring'('exception', 'cheroot.test.webtest.ServerError', , {'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': [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': , True, {'members': , True, {'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(_, '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(_, '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: :class:`object` Non-data property decorator. .. py:exception:: ServerError :module: cheroot.test.webtest Bases: :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: :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 :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: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:method:: WebCase.persistent :module: cheroot.test.webtest :property: 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:method:: WebCase.status_code :module: cheroot.test.webtest :property: 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:: 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`). >>> 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', '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', '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', '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', ) [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.test.rst:99: input: .. automodule:: cheroot.test :members: :undoc-members: :show-inheritance: [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... [ 85%] 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:: [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.testing.rst:4: input: .. automodule:: cheroot.testing :members: :undoc-members: :show-inheritance: [autodoc] import cheroot.testing [autodoc] import cheroot.testing => [app] emitting event: 'autodoc-process-signature'('module', 'cheroot.testing', , True, {'members': , Tru [app] emitting event: 'autodoc-skip-member'('module', '__metaclass__', , True, {'members': , True, {'members': , True, {'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, [app] emitting event: 'autodoc-skip-member'('module', 'native_server', , False, {'members': , F [app] emitting event: 'autodoc-skip-member'('module', 'socket', , False, {'members': , False, {'memb [app] emitting event: 'autodoc-skip-member'('module', 'time', , False, {'members': , False, {'members': [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', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'object-description-transform'('py', 'function', >) [app] emitting event: 'doctree-read'(>,) reading sources... [ 92%] 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/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.workers.rst:10: input: .. automodule:: cheroot.workers.threadpool :members: :undoc-members: :show-inheritance: [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': [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', 'pass_none', , True, {'members': , True, {'members': , True, {'members': , True, {'membe [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-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': , True, [app] emitting event: 'autodoc-skip-member'('class', '_clear_threads', , True, {'members' [app] emitting event: 'autodoc-skip-member'('class', '_force_close', , True, {'members': , True, {'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(_, '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', , 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', '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', ) [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.workers.rst:19: input: .. automodule:: cheroot.workers :members: :undoc-members: :show-inheritance: [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': Args: [i18n] PATCH: 'docutils.nodes.term' to have rawsource: obj (>,) reading sources... [100%] 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 [autodoc] /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/pkg/cheroot.wsgi.rst:4: input: .. automodule:: cheroot.wsgi :members: :undoc-members: :show-inheritance: [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': , True, {'members': , True, {'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(_, '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': , 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': , True, {'members': , True, {'members': [app] emitting event: 'autodoc-skip-member'('class', 'get_environ', , False, {'members': [autodoc] from cheroot.wsgi import Gateway_u0.get_environ [autodoc] import cheroot.wsgi => [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-docstring'('class', 'cheroot.wsgi.PathInfoDispatcher', , {'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': , 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: :class:`cheroot.server.Gateway` A base class to interface HTTPServer with WSGI. .. 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: :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: :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.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: :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: :class:`cheroot.server.HTTPServer` A subclass of HTTPServer which calls a WSGI application. .. py:method:: Server.numthreads :module: cheroot.wsgi :property: 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 :class:`cheroot.wsgi.Gateway` .. py:attribute:: WSGIGateway_10 :module: cheroot.wsgi alias of :class:`cheroot.wsgi.Gateway_10` .. py:attribute:: WSGIGateway_u0 :module: cheroot.wsgi alias of :class:`cheroot.wsgi.Gateway_u0` .. py:attribute:: WSGIPathInfoDispatcher :module: cheroot.wsgi alias of :class:`cheroot.wsgi.PathInfoDispatcher` .. py:attribute:: WSGIServer :module: cheroot.wsgi alias of :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', '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', 'attribute', ) [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', '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'(>,) [app] emitting event: 'env-updated'(,) CHANGES.rst:1: WARNING: There is no `v8.4.5` in Git CHANGES.rst:13: WARNING: There is no `v8.4.4` in Git CHANGES.rst:25: WARNING: There is no `v8.4.3` in Git CHANGES.rst:38: WARNING: There is no `v8.4.2` in Git CHANGES.rst:47: WARNING: There is no `v8.4.1` in Git CHANGES.rst:54: WARNING: There is no `v8.4.0` in Git CHANGES.rst:63: WARNING: There is no `v8.3.1` in Git CHANGES.rst:70: WARNING: There is no `v8.3.0` in Git CHANGES.rst:78: WARNING: There is no `v8.2.1` in Git CHANGES.rst:84: WARNING: There is no `v8.2.0` in Git CHANGES.rst:92: WARNING: There is no `v8.1.0` in Git CHANGES.rst:99: WARNING: There is no `v8.0.0` in Git CHANGES.rst:109: WARNING: There is no `v7.0.0` in Git CHANGES.rst:118: WARNING: There is no `v6.6.0` in Git CHANGES.rst:127: WARNING: There is no `v6.5.8` in Git CHANGES.rst:134: WARNING: There is no `v6.5.7` in Git CHANGES.rst:145: WARNING: There is no `v6.5.6` in Git CHANGES.rst:151: WARNING: There is no `v6.5.5` in Git CHANGES.rst:160: WARNING: There is no `v6.5.4` in Git CHANGES.rst:197: WARNING: There is no `v6.5.3` in Git CHANGES.rst:202: WARNING: There is no `v6.5.2` in Git CHANGES.rst:212: WARNING: There is no `v6.5.1` in Git CHANGES.rst:219: WARNING: There is no `v6.5.0` in Git CHANGES.rst:225: WARNING: There is no `v6.4.0` in Git CHANGES.rst:233: WARNING: There is no `v6.3.3` in Git CHANGES.rst:239: WARNING: There is no `v6.3.2` in Git CHANGES.rst:245: WARNING: There is no `v6.3.1` in Git CHANGES.rst:251: WARNING: There is no `v6.3.0` in Git CHANGES.rst:257: WARNING: There is no `v6.2.4` in Git CHANGES.rst:268: WARNING: There is no `v6.2.3` in Git CHANGES.rst:274: WARNING: There is no `v6.2.2` in Git CHANGES.rst:280: WARNING: There is no `v6.2.1` in Git CHANGES.rst:287: WARNING: There is no `v6.2.0` in Git CHANGES.rst:308: WARNING: There is no `v6.1.2` in Git CHANGES.rst:317: WARNING: There is no `v6.1.1` in Git CHANGES.rst:325: WARNING: There is no `v6.1.0` in Git CHANGES.rst:352: WARNING: There is no `v6.0.0` in Git CHANGES.rst:360: WARNING: There is no `v5.11.0` in Git CHANGES.rst:370: WARNING: There is no `v5.10.0` in Git CHANGES.rst:380: WARNING: There is no `v5.9.2` in Git CHANGES.rst:385: WARNING: There is no `v5.9.1` in Git CHANGES.rst:391: WARNING: There is no `v5.9.0` in Git CHANGES.rst:405: WARNING: There is no `v5.8.3` in Git CHANGES.rst:422: WARNING: There is no `v5.8.2` in Git CHANGES.rst:429: WARNING: There is no `v5.8.1` in Git CHANGES.rst:441: WARNING: There is no `v5.8.0` in Git CHANGES.rst:464: WARNING: There is no `v5.7.0` in Git CHANGES.rst:501: WARNING: There is no `v5.6.0` in Git CHANGES.rst:515: WARNING: There is no `v5.5.2` in Git CHANGES.rst:525: WARNING: There is no `v5.5.1` in Git CHANGES.rst:542: WARNING: There is no `v5.5.0` in Git CHANGES.rst:561: WARNING: There is no `v5.4.0` in Git CHANGES.rst:566: WARNING: There is no `v5.3.0` in Git CHANGES.rst:577: WARNING: There is no `v5.2.0` in Git CHANGES.rst:588: WARNING: There is no `v5.1.0` in Git CHANGES.rst:600: WARNING: There is no `v5.0.1` in Git CHANGES.rst:605: WARNING: There is no `v5.0.0` in Git WARNING: autodoc: failed to import module 'test_conn' from module 'cheroot.test'; the following exception was raised: No module named 'jaraco.text' 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, history, index, pkg/cheroot._compat, 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.testing, pkg/cheroot.workers, pkg/cheroot.wsgi preparing documents... done writing output... [ 7%] 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.4.5', 'version': writing output... [ 14%] 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'(, >,
>, 'history') [app] emitting event: 'html-page-context'('history', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.4.5', 'version': '8 writing output... [ 21%] index [app] emitting event: 'doctree-resolved'(
, 'index') [app] emitting event: 'html-page-context'('index', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.4.5', 'version': '8.4 writing output... [ 28%] 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.4.5', ' writing output... [ 35%] 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.4.5', 'v writing output... [ 42%] 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.4.5', writing output... [ 50%] 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.4.5', 'v writing output... [ 57%] 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.4.5', 'vers writing output... [ 64%] 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.4.5 writing output... [ 71%] 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'(, >, , >) [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.pyopenssl') [app] emitting event: 'html-page-context'('pkg/cheroot.ssl.pyopenssl', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.4 writing output... [ 78%] pkg/cheroot.test [app] emitting event: 'missing-reference'(, >, , >, , >, , >, , >, , >, , >, , >, , >, , >, , >) [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.4.5', 'ver writing output... [ 85%] pkg/cheroot.testing [app] emitting event: 'doctree-resolved'(>, 'pkg/cheroot.testing') [app] emitting event: 'html-page-context'('pkg/cheroot.testing', 'page.html', {'embedded': False, 'project': 'cheroot', 'release': '8.4.5', ' writing output... [ 92%] pkg/cheroot.workers [app] emitting event: 'missing-reference'(, >, , >, , >) [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.4.5', ' writing output... [100%] 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.4.5', 'ver /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/docs/contribute.rst:72: WARNING: 'any' reference target not found: python CHANGES.rst:15: WARNING: py:meth reference target not found: selectors.BaseSelector.get_map CHANGES.rst:56: WARNING: py:func reference target not found: select.select CHANGES.rst:56: WARNING: py:mod reference target not found: selectors CHANGES.rst:168: WARNING: py:mod reference target not found: trustme CHANGES.rst:171: WARNING: py:mod reference target not found: unittest CHANGES.rst:171: WARNING: py:mod reference target not found: ddt CHANGES.rst:179: WARNING: py:func reference target not found: os.lchmod CHANGES.rst:181: WARNING: py:mod reference target not found: ssl CHANGES.rst:184: WARNING: py:class reference target not found: OpenSSL.SSL.Connection CHANGES.rst:208: WARNING: py:mod reference target not found: trustme CHANGES.rst:312: WARNING: py:obj reference target not found: socket.AF_UNIX CHANGES.rst:321: WARNING: py:obj reference target not found: socket.AF_UNIX /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/_compat.py:docstring of cheroot._compat.extract_bytes:3: WARNING: py:func reference target not found: buffer /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/_compat.py:docstring of cheroot._compat.extract_bytes:9: WARNING: py:func reference target not found: buffer /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/errors.py:docstring of cheroot.errors.plat_specific_errors:3: WARNING: py:mod reference target not found: errno /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/server.py:docstring of cheroot.server.HTTPServer.bind_addr:3: WARNING: py:data reference target not found: None /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/server.py:docstring of cheroot.server.HTTPServer.peercreds_enabled:1: WARNING: py:data reference target not found: True /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/server.py:docstring of cheroot.server.HTTPServer.peercreds_resolve_enabled:1: WARNING: py:data reference target not found: True /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/builtin.py:docstring of cheroot.ssl.builtin:1: WARNING: py:mod reference target not found: ssl /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/builtin.py:docstring of cheroot.ssl.builtin:3: WARNING: py:mod reference target not found: ssl /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/builtin.py:docstring of cheroot.ssl.builtin.BuiltinSSLAdapter:1: WARNING: py:mod reference target not found: ssl /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/builtin.py:docstring of cheroot.ssl.builtin.BuiltinSSLAdapter.context:1: WARNING: py:class reference target not found: ssl.SSLContext /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:1: WARNING: unknown document: pyopenssl:index /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:3: WARNING: py:mod reference target not found: pyopenssl:OpenSSL /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:15: WARNING: py:class reference target not found: pyopenssl:OpenSSL.SSL.Context /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:19: WARNING: py:class reference target not found: pyopenssl:OpenSSL.SSL.Context /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:19: WARNING: py:class reference target not found: pyopenssl:OpenSSL.SSL.Connection /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:19: WARNING: py:class reference target not found: pyopenssl:OpenSSL.SSL.Context /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:19: WARNING: py:data reference target not found: pyopenssl:OpenSSL.SSL.SSLv3_METHOD /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:19: WARNING: py:data reference target not found: pyopenssl:OpenSSL.SSL.SSLv3_METHOD /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:19: WARNING: unknown document: pyopenssl:api/ssl /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:42: WARNING: py:data reference target not found: None /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl:42: WARNING: py:data reference target not found: None /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl.SSLConnection:3: WARNING: py:class reference target not found: pyopenssl:OpenSSL.SSL.Connection /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl.pyOpenSSLAdapter.certificate_chain:3: WARNING: py:data reference target not found: None /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl.pyOpenSSLAdapter.context:1: WARNING: py:class reference target not found: pyopenssl:OpenSSL.SSL.Context /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/cheroot/ssl/pyopenssl.py:docstring of cheroot.ssl.pyopenssl.pyOpenSSLAdapter.get_context:3: WARNING: py:class reference target not found: pyopenssl:OpenSSL.SSL.Context :1: WARNING: py:class reference target not found: http.client.HTTPConnection /home/iurt/rpmbuild/BUILD/cheroot-8.4.5/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.4.5', 'version py-modindex [app] emitting event: 'html-page-context'('py-modindex', 'domainindex.html', {'embedded': False, 'project': 'cheroot', 'release': '8.4.5', '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.4.5', 'version': ' done copying static files... done copying extra files... done dumping search index in English (code: en)... done dumping object inventory... done build succeeded, 104 warnings. The HTML pages are in html. [app] emitting event: 'build-finished'(None,) Copying tabs assets + rm -rf html/.doctrees html/.buildinfo + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.6Iv5N4 + umask 022 + cd /home/iurt/rpmbuild/BUILD + '[' 1 -eq 1 ']' + '[' /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64 '!=' / ']' + rm -rf /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64 ++ dirname /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64 + mkdir -p /home/iurt/rpmbuild/BUILDROOT + mkdir /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64 + cd cheroot-8.4.5 + '[' 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/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64 running install running install_lib creating /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr creating /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib creating /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8 creating /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages creating /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot creating /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/workers copying build/lib/cheroot/workers/threadpool.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/workers copying build/lib/cheroot/workers/__init__.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/workers copying build/lib/cheroot/_compat.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot creating /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/conftest.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/test_ssl.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/test_wsgi.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/helper.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/__init__.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/test_makefile.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/test_conn.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/webtest.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/test_errors.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/test_core.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/test_cli.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/test_dispatch.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/test_server.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/test/test__compat.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test copying build/lib/cheroot/__init__.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot copying build/lib/cheroot/server.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot copying build/lib/cheroot/connections.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot creating /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/ssl copying build/lib/cheroot/ssl/__init__.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/ssl copying build/lib/cheroot/ssl/pyopenssl.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/ssl copying build/lib/cheroot/ssl/builtin.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/ssl copying build/lib/cheroot/makefile.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot copying build/lib/cheroot/errors.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot copying build/lib/cheroot/__main__.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot copying build/lib/cheroot/cli.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot copying build/lib/cheroot/testing.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot copying build/lib/cheroot/wsgi.py -> /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/workers/threadpool.py to threadpool.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/workers/__init__.py to __init__.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/_compat.py to _compat.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/conftest.py to conftest.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/test_ssl.py to test_ssl.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/test_wsgi.py to test_wsgi.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/helper.py to helper.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/__init__.py to __init__.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/test_makefile.py to test_makefile.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/test_conn.py to test_conn.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/webtest.py to webtest.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/test_errors.py to test_errors.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/test_core.py to test_core.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/test_cli.py to test_cli.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/test_dispatch.py to test_dispatch.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/test_server.py to test_server.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/test/test__compat.py to test__compat.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/__init__.py to __init__.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/server.py to server.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/connections.py to connections.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/ssl/__init__.py to __init__.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/ssl/pyopenssl.py to pyopenssl.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/ssl/builtin.py to builtin.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/makefile.py to makefile.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/errors.py to errors.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/__main__.py to __main__.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/cli.py to cli.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/testing.py to testing.cpython-38.pyc byte-compiling /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot/wsgi.py to wsgi.cpython-38.pyc writing byte-compilation script '/tmp/tmpxt4dpwd1.py' /usr/bin/python3 /tmp/tmpxt4dpwd1.py removing /tmp/tmpxt4dpwd1.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 reading manifest file 'cheroot.egg-info/SOURCES.txt' writing manifest file 'cheroot.egg-info/SOURCES.txt' Copying cheroot.egg-info to /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8/site-packages/cheroot-8.4.5-py3.8.egg-info running install_scripts Installing cheroot script to /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/bin + rm -rfv /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/bin/__pycache__ + /usr/lib/rpm/find-debuginfo.sh -j8 --strict-build-id -m -i --build-id-seed 8.4.5-1.mga8 --unique-debug-suffix -8.4.5-1.mga8.aarch64 --unique-debug-src-base python-cheroot-8.4.5-1.mga8.aarch64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /home/iurt/rpmbuild/BUILD/cheroot-8.4.5 + /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 1 Bytecompiling .py files below /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/lib/python3.8 using /usr/bin/python3.8 + /usr/lib/rpm/brp-python-hardlink + /usr/lib/rpm/redhat/brp-mangle-shebangs Processing files: python3-cheroot-8.4.5-1.mga8.noarch Executing(%doc): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.KTRtV5 + umask 022 + cd /home/iurt/rpmbuild/BUILD + cd cheroot-8.4.5 + DOCDIR=/home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/share/doc/python3-cheroot + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/share/doc/python3-cheroot + cp -pr LICENSE.md /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/share/doc/python3-cheroot + cp -pr README.rst /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/share/doc/python3-cheroot + RPM_EC=0 ++ jobs -p + exit 0 Provides: python-cheroot = 8.4.5-1.mga8 python3-cheroot = 8.4.5-1.mga8 python3.8-cheroot = 8.4.5-1.mga8 python3.8dist(cheroot) = 8.4.5 python3dist(cheroot) = 8.4.5 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.8 python3.8dist(jaraco-functools) python3.8dist(more-itertools) >= 2.6 python3.8dist(setuptools) python3.8dist(six) >= 1.11 Processing files: python-cheroot-doc-8.4.5-1.mga8.noarch Executing(%doc): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.wyDDM5 + umask 022 + cd /home/iurt/rpmbuild/BUILD + cd cheroot-8.4.5 + DOCDIR=/home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/share/doc/python-cheroot-doc + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/share/doc/python-cheroot-doc + cp -pr html /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/share/doc/python-cheroot-doc + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.9i1gj8 + umask 022 + cd /home/iurt/rpmbuild/BUILD + cd cheroot-8.4.5 + LICENSEDIR=/home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/share/licenses/python-cheroot-doc + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/share/licenses/python-cheroot-doc + cp -pr LICENSE.md /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64/usr/share/licenses/python-cheroot-doc + RPM_EC=0 ++ jobs -p + exit 0 Provides: python-cheroot-doc = 8.4.5-1.mga8 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/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64 Wrote: /home/iurt/rpmbuild/RPMS/noarch/python3-cheroot-8.4.5-1.mga8.noarch.rpm Wrote: /home/iurt/rpmbuild/RPMS/noarch/python-cheroot-doc-8.4.5-1.mga8.noarch.rpm Executing(%clean): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.Rrj0n8 + umask 022 + cd /home/iurt/rpmbuild/BUILD + cd cheroot-8.4.5 + /usr/bin/rm -rf /home/iurt/rpmbuild/BUILDROOT/python-cheroot-8.4.5-1.mga8.aarch64 + RPM_EC=0 ++ jobs -p + exit 0 Executing(--clean): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.jYGAg6 + umask 022 + cd /home/iurt/rpmbuild/BUILD + rm -rf cheroot-8.4.5 + RPM_EC=0 ++ jobs -p + exit 0 D: [iurt_root_command] Success!