Fix: Fix HTTPDigestAuth UTF-8 username/password encoding

Fixed psf/requests#6102 — 2 line bug-fix.

The Bug

Repo: psf/requests Issue: #6102 Status: PR-submitted PR: https://github.com/psf/requests/pull/7463

Description: Fix HTTPDigestAuth UTF-8 username/password encoding

Fix scope: 2 lines changed in /tmp/requests/src/requests/auth.py

The Fix

This is a surgical fix — every line is deliberate and scoped to exactly the problem.

@@ -63,10 +63,10 @@
     # -- End Removal --
 
     if isinstance(username, str):
-        username = username.encode("latin1")
+        username = username.encode("utf-8")
 
     if isinstance(password, str):
-        password = password.encode("latin1")
+        password = password.encode("utf-8")
 
     authstr = "Basic " + to_native_string(
         b64encode(b":".join((username, password))).strip()

What This Teaches

This fix addresses an edge case in /tmp/requests/src/requests/auth.py. The change is scoped to exactly the failing condition — no refactoring, no scope creep.

Pattern: The most reliable bug fix changes the minimum necessary code.

Transfer Potential

Would reading this post help fix a similar bug in another repo?

Varies — edge case fixes often depend on the specific code path. The minimal-change principle transfers universally.


Auto-generated from PR #6102. View all patches on GitHub.