-
Notifications
You must be signed in to change notification settings - Fork 167
feat: Support urllib3 >= 2.6.0 #1658
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Support urllib3 >= 2.6.0 #1658
Conversation
This reverts commit b0a3349.
Summary of ChangesHello @chandra-siri, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request enhances the download functionality by integrating support for Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request adds support for urllib3's max_length parameter in the custom _GzipDecoder and _BrotliDecoder to align with newer urllib3 APIs. The implementation correctly maintains backward compatibility with older urllib3 versions (pre-2.6.0) by using a try...except TypeError block. The changes are logical and well-implemented. My feedback is focused on improving the clarity of comments within these compatibility blocks to enhance long-term code maintainability.
…ib3 (googleapis#1651)" This reverts commit 6ed12b9.
…n-storage into support_urllib3_2_6_0
|
/gemini review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request updates the custom Gzip and Brotli decoders to be compatible with urllib3 v2.x, which introduced a max_length parameter to the decompress method to mitigate decompression bomb vulnerabilities. The changes add this parameter to the custom decoders and use a try-except block for backward compatibility with older urllib3 versions.
My review focuses on improving the implementation of this backward compatibility. I've suggested replacing the try-except blocks with an explicit version check at import time, which is cleaner and more performant. I also identified a bug in the new has_unconsumed_tail property for the Brotli decoder that would cause an AttributeError with older urllib3 versions and provided a fix. Overall, the changes are in the right direction to support modern urllib3 versions.
🤖 I have created a release *beep* *boop* --- ## [3.7.0](v3.6.0...v3.7.0) (2025-12-09) ### Features * Auto enable mTLS when supported certificates are detected ([#1637](#1637)) ([4e91c54](4e91c54)) * Send entire object checksum in the final api call of resumable upload ([#1654](#1654)) ([ddce7e5](ddce7e5)) * Support urllib3 >= 2.6.0 ([#1658](#1658)) ([57405e9](57405e9)) ### Bug Fixes * **bucket:** Move blob fails when the new blob name contains characters that need to be url encoded ([#1605](#1605)) ([ec470a2](ec470a2)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Chandra Shekhar Sirimala <[email protected]>
feat: Support urllib3 >= 2.6.0
Context:
_GzipDecoder,_BrotliDecoder) which inherit fromurllib3.response.ContentDecoderurllib3.response.ContentDecoderwas changed in 2.6.0 to fix security vulnerability for highly compressed data reads. (Decompression bombs)Hence we need to change our interfaces as well.
Changes
max_lengthparam on decompress method, provide default value of -1 (same as urllib3's decompress)