Fix body reader positioning in DPoP retry logic
The previous fix buffered the body but used bytes.NewBuffer which maintains
a read position. When retrying, we need to explicitly create a new
bytes.NewReader to ensure the read position starts at 0.
Changes:
- Explicitly set retryReq.Body with fresh bytes.NewReader
- Set ContentLength on retry request
- Update GetBody to return fresh bytes.NewReader instances
This ensures the PDS can read the full request body on retry attempts.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>