Features
-
Added support for reusable request bodies to enable retries, redirects, and digest authentication -- by :user:
bdraco
and :user:GLGDLY
.Most payloads can now be safely reused multiple times, fixing long-standing issues where POST requests with form data or file uploads would fail on redirects with errors like "Form data has been processed already" or "I/O operation on closed file". This also enables digest authentication to work with request bodies and allows retry mechanisms to resend requests without consuming the payload. Note that payloads derived from async iterables may still not be reusable in some cases.
Related issues and pull requests on GitHub:
#5530, #5577, #9201, #11017.