From 24795244d83fec594935974a4bde23be1b0a27e0 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Wed, 2 Oct 2024 00:06:39 +0100 Subject: [PATCH 1/2] Redirect full version archive files to ``{major}.{minor}`` --- salt/docs/config/nginx.docs-redirects.conf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/salt/docs/config/nginx.docs-redirects.conf b/salt/docs/config/nginx.docs-redirects.conf index f9acd66f..93639a40 100644 --- a/salt/docs/config/nginx.docs-redirects.conf +++ b/salt/docs/config/nginx.docs-redirects.conf @@ -186,6 +186,11 @@ location ~ ^/((2|3)(\.[0-9]+)?|dev)/\w+/[\d\w\.]+(?!\.html)$ { } } +# Map archive URLs to {major}.{minor} +location ~ ^/([a-z-]*/)?(3|3.12|3.13|3.14)/archives/python-(3.12|3.13|3.14)\.\d+((a|b|rc)\d)?-docs(-(html|pdf-a4|pdf-letter|texinfo|text)\.(zip|tar\.bz2)|\.epub)$ { + return 301 https://$host/$1$2/archives/python-$3-docs$6; +} + # Map old, 2.5-and-earlier directory names to 2.6-and-later names. location = /lib/ { return 301 https://$host/library/; From 9735f2c6311e6f6b180a80b35171c8b67ea53aa6 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Wed, 2 Oct 2024 00:22:22 +0100 Subject: [PATCH 2/2] Add tests --- salt/docs/config/nginx.docs-redirects.conf | 10 +- tests/docs-redirects/specs/archives.hurl | 6085 ++++++++++++++++++++ 2 files changed, 6090 insertions(+), 5 deletions(-) create mode 100644 tests/docs-redirects/specs/archives.hurl diff --git a/salt/docs/config/nginx.docs-redirects.conf b/salt/docs/config/nginx.docs-redirects.conf index 93639a40..ceac2181 100644 --- a/salt/docs/config/nginx.docs-redirects.conf +++ b/salt/docs/config/nginx.docs-redirects.conf @@ -12,11 +12,6 @@ location ~ ^/(es|fr|id|it|ja|ko|pl|pt-br|tr|uk|zh-cn|zh-tw)/$ { return 302 $scheme://$host/$1/3/; } -# Pretty 404 for archives telling to wait for them to be built. -location ~ \.(pdf|zip|epub|bz2)$ { - error_page 404 /404.html; -} - # Some doc download pages link to docs.python.org/ftp instead of www.python.org/ftp. location ^~ /ftp/ { return 301 https://www.python.org$request_uri; @@ -222,3 +217,8 @@ location = /doc/ { location = /ref/ { return 301 https://$host/reference/; } + +# Pretty 404 for archives telling to wait for them to be built. +location ~ \.(pdf|zip|epub|bz2)$ { + error_page 404 /404.html; +} diff --git a/tests/docs-redirects/specs/archives.hurl b/tests/docs-redirects/specs/archives.hurl new file mode 100644 index 00000000..7cf96d0e --- /dev/null +++ b/tests/docs-redirects/specs/archives.hurl @@ -0,0 +1,6085 @@ +# Assert that full version archives are redirected to the short version. + + +## Test: English + +GET {{host}}/3.12/archives/python-3.12.0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0a0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0a1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0a1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0a1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0a1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0a1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0a1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0a2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0a2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0a2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0a2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0a2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0a2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0a3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0a3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0a3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0a3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0a3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0a3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0a4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0a4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0a4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0a4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0a4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0a4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0a5-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a5-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0a5-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a5-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0a5-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a5-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0a5-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a5-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0a5-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a5-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0a5-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0a6-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a6-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0a6-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a6-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0a6-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a6-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0a6-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a6-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0a6-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a6-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0a6-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0a7-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a7-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0a7-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a7-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0a7-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a7-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0a7-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a7-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0a7-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0a7-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0a7-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0b1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0b1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0b1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0b1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0b1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0b1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0b2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0b2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0b2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0b2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0b2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0b2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0b3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0b3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0b3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0b3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0b3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0b3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0b4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0b4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0b4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0b4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0b4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0b4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0b4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0rc1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0rc2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.0rc3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.0rc3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.0rc3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.5-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.5-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.5-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.5-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.5-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.5-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.5-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.5-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.5-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.5-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.5-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.12/archives/python-3.12.6-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.6-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/3.12/archives/python-3.12.6-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.6-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/3.12/archives/python-3.12.6-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.6-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/3.12/archives/python-3.12.6-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.6-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/3.12/archives/python-3.12.6-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/3.12/archives/python-3.12.6-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/3.12/archives/python-3.12.6-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0a1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0a1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0a1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0a1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0a1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0a1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0a2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0a2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0a2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0a2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0a2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0a2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0a3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0a3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0a3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0a3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0a3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0a3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0a4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0a4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0a4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0a4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0a4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0a4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0a5-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a5-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0a5-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a5-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0a5-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a5-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0a5-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a5-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0a5-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a5-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0a5-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0a6-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a6-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0a6-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a6-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0a6-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a6-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0a6-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a6-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0a6-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0a6-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0a6-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0b1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0b1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0b1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0b1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0b1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0b1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0b2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0b2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0b2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0b2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0b2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0b2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0b3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0b3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0b3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0b3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0b3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0b3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0b4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0b4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0b4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0b4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0b4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0b4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0b4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0rc1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0rc1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0rc1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0rc1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0rc1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0rc1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0rc1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0rc1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0rc1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0rc1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0rc1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.13/archives/python-3.13.0rc2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0rc2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/3.13/archives/python-3.13.0rc2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0rc2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/3.13/archives/python-3.13.0rc2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0rc2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/3.13/archives/python-3.13.0rc2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0rc2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/3.13/archives/python-3.13.0rc2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/3.13/archives/python-3.13.0rc2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/3.13/archives/python-3.13.0rc2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/3.14/archives/python-3.14.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.14/archives/python-3.14-docs-html.tar.bz2" + +GET {{host}}/3.14/archives/python-3.14.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.14/archives/python-3.14-docs-html.zip" + +GET {{host}}/3.14/archives/python-3.14.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.14/archives/python-3.14-docs-pdf-a4.tar.bz2" + +GET {{host}}/3.14/archives/python-3.14.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.14/archives/python-3.14-docs-pdf-a4.zip" + +GET {{host}}/3.14/archives/python-3.14.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.14/archives/python-3.14-docs-texinfo.tar.bz2" + +GET {{host}}/3.14/archives/python-3.14.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.14/archives/python-3.14-docs-texinfo.zip" + +GET {{host}}/3.14/archives/python-3.14.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.14/archives/python-3.14-docs-text.tar.bz2" + +GET {{host}}/3.14/archives/python-3.14.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.14/archives/python-3.14-docs-text.zip" + +GET {{host}}/3.14/archives/python-3.14.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/3.14/archives/python-3.14-docs.epub" + + +## Test: French + +GET {{host}}/fr/3.12/archives/python-3.12.0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0a1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0a2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0a3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0a4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0a5-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a5-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a5-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a5-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a5-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a5-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a5-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a5-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a5-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a5-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a5-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0a6-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a6-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a6-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a6-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a6-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a6-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a6-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a6-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a6-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a6-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a6-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0a7-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a7-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a7-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a7-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a7-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a7-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a7-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a7-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a7-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0a7-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0a7-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0b1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0b2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0b3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0b4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0b4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0b4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.0rc3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.5-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.5-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.5-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.5-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.5-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.5-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.5-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.5-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.5-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.5-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.5-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.12/archives/python-3.12.6-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.6-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.6-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.6-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.6-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.6-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.6-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.6-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.6-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/fr/3.12/archives/python-3.12.6-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/fr/3.12/archives/python-3.12.6-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0a1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0a2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0a3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0a4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0a5-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a5-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a5-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a5-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a5-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a5-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a5-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a5-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a5-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a5-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a5-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0a6-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a6-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a6-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a6-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a6-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a6-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a6-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a6-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a6-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0a6-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0a6-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0b1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0b2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0b3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0b4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0b4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0b4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/fr/3.13/archives/python-3.13.0rc2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/fr/3.14/archives/python-3.14.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.14/archives/python-3.14-docs-html.tar.bz2" + +GET {{host}}/fr/3.14/archives/python-3.14.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.14/archives/python-3.14-docs-html.zip" + +GET {{host}}/fr/3.14/archives/python-3.14.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.14/archives/python-3.14-docs-pdf-a4.tar.bz2" + +GET {{host}}/fr/3.14/archives/python-3.14.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.14/archives/python-3.14-docs-pdf-a4.zip" + +GET {{host}}/fr/3.14/archives/python-3.14.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.14/archives/python-3.14-docs-texinfo.tar.bz2" + +GET {{host}}/fr/3.14/archives/python-3.14.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.14/archives/python-3.14-docs-texinfo.zip" + +GET {{host}}/fr/3.14/archives/python-3.14.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.14/archives/python-3.14-docs-text.tar.bz2" + +GET {{host}}/fr/3.14/archives/python-3.14.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.14/archives/python-3.14-docs-text.zip" + +GET {{host}}/fr/3.14/archives/python-3.14.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/fr/3.14/archives/python-3.14-docs.epub" + + +## Test: Portuguese (Brazil) + +GET {{host}}/pt-br/3.12/archives/python-3.12.0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a5-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a5-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a5-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a5-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a5-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a5-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a5-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a5-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a5-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a5-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a5-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a6-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a6-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a6-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a6-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a6-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a6-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a6-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a6-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a6-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a6-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a6-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a7-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a7-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a7-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a7-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a7-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a7-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a7-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a7-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a7-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a7-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0a7-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0b4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.0rc3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.5-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.5-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.5-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.5-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.5-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.5-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.5-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.5-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.5-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.5-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.5-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.12/archives/python-3.12.6-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.6-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-html.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.6-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.6-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.6-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.6-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.6-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.6-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-texinfo.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.6-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.12/archives/python-3.12.6-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs-text.zip" + +GET {{host}}/pt-br/3.12/archives/python-3.12.6-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.12/archives/python-3.12-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a5-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a5-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a5-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a5-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a5-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a5-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a5-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a5-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a5-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a5-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a5-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a6-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a6-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a6-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a6-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a6-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a6-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a6-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a6-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a6-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a6-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0a6-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b3-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b3-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b3-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b3-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b3-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b3-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b3-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b3-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b3-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b3-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b3-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b4-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b4-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b4-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b4-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b4-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b4-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b4-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b4-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b4-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b4-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0b4-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc1-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc1-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc1-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc1-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc1-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc1-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc1-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc1-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc1-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc1-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc1-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc2-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc2-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-html.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc2-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc2-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc2-docs-pdf-letter.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc2-docs-pdf-letter.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-pdf-letter.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc2-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc2-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-texinfo.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc2-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc2-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs-text.zip" + +GET {{host}}/pt-br/3.13/archives/python-3.13.0rc2-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.13/archives/python-3.13-docs.epub" + +GET {{host}}/pt-br/3.14/archives/python-3.14.0a0-docs-html.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.14/archives/python-3.14-docs-html.tar.bz2" + +GET {{host}}/pt-br/3.14/archives/python-3.14.0a0-docs-html.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.14/archives/python-3.14-docs-html.zip" + +GET {{host}}/pt-br/3.14/archives/python-3.14.0a0-docs-pdf-a4.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.14/archives/python-3.14-docs-pdf-a4.tar.bz2" + +GET {{host}}/pt-br/3.14/archives/python-3.14.0a0-docs-pdf-a4.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.14/archives/python-3.14-docs-pdf-a4.zip" + +GET {{host}}/pt-br/3.14/archives/python-3.14.0a0-docs-texinfo.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.14/archives/python-3.14-docs-texinfo.tar.bz2" + +GET {{host}}/pt-br/3.14/archives/python-3.14.0a0-docs-texinfo.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.14/archives/python-3.14-docs-texinfo.zip" + +GET {{host}}/pt-br/3.14/archives/python-3.14.0a0-docs-text.tar.bz2 +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.14/archives/python-3.14-docs-text.tar.bz2" + +GET {{host}}/pt-br/3.14/archives/python-3.14.0a0-docs-text.zip +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.14/archives/python-3.14-docs-text.zip" + +GET {{host}}/pt-br/3.14/archives/python-3.14.0a0-docs.epub +HTTP 301 +[Asserts] +header "Location" == "https://localhost/pt-br/3.14/archives/python-3.14-docs.epub"