URIBuilder.extend_query_with drops existing parameters that have an empty value
還沒有人認領這個 Issue。
評估
研究方向
從 URIBuilder.extend_query_with 開始,檢查其對 urllib.parse.parse_qsl 的使用;issue 指出空值處理會丟棄既有的 query 配對。新增回歸測試,分別測試以一個配對和一個空清單擴展 a=,然後執行與 URIBuilder 相關的測試。兩種情況下,結果 query 中都保留 a= 即為完成。
由索引模型根據 Issue 內容生成。
描述
>>> from rfc3986.builder import URIBuilder
>>> URIBuilder(query="a=").extend_query_with([("b", "c")]).query
'b=c' # expected 'a=&b=c'
>>> URIBuilder(query="a=").extend_query_with([]).query
'' # expected 'a='
extend_query_with re-parses the existing query with urllib.parse.parse_qsl(self.query or ""), whose default keep_blank_values=False silently drops every pair with an empty value, so extending a query can lose parameters that were there before. a= and a are meaningful to many servers (presence of a flag), and the docstring describes the method as extending the existing query, not filtering it.
Reproduced on 2.0.0 (main 3bd3832). The fix is parse_qsl(self.query or "", keep_blank_values=True). Happy to send a PR with a test if you would take one.
- 主要語言
- Python
- 星號
- 189
- 分支
- 43
- 平均合併
- 12 小時 14 分鐘
- 30 天內合併 PR
- 2
環境準備
這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
python-hyper/rfc3986 的其他 Issue
-
ParseResultBytes.unsplit() raises AttributeError for a reference without an authority可能已有人在做 @mayuriphad 於 2 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 84/100
python-hyper/rfc3986#163 ·
-
難度 3/5 1-2 天 新手友好度 45/100
python-hyper/rfc3986#138 · 1 則留言 ·
-
sdist is missing `tox.ini`可能重新可做 關聯的 PR 已關閉且未合併。 未關閉
難度 2/5 1-3 小時 新手友好度 55/100
python-hyper/rfc3986#129 ·
-
wrong parse未關閉
難度 3/5 1-2 天 新手友好度 38/100
python-hyper/rfc3986#128 ·
-
難度 2/5 1-3 小時 新手友好度 35/100
python-hyper/rfc3986#123 · 2 則留言 ·
查看 python-hyper/rfc3986 的全部 Issue
相似的 Issue
-
難度 1/5 1 小時以內 新手友好度 72/100
slavakurilyak/awesome-ai-agents#845 ·
維護者通常 1 天內回覆
-
tests: pin that the atomic writers in utils/paths.py stage the temporary file in the target's directory可能已有人在做 關聯的 PR 仍在進行中或已合併。 未關閉difficulty:2 enhancement good first issue
難度 1/5 1-3 小時 新手友好度 92/100
MakazhanAlpamys/Soup#2178 ·
維護者通常 1 天內回覆
-
[BUG] dcg.waggr permutation p-values are folded twice, so near-zero scores get the smallest p-values未關閉
難度 2/5 1-3 小時 新手友好度 75/100
scverse/rapids-singlecell#854 ·
維護者通常 1 天內回覆
-
Slang input: int8_t4_packed and uint8_t4_packed are copied into CrossGL可能已有人在做 @ninglinLiu 今天認領。 未關閉area:frontend backend:slang bug direction:input
難度 2/5 1-3 小時 新手友好度 70/100
維護者通常 1 天內回覆
-
random_elements(unique=True) on an OrderedDict: ZeroDivisionError once only zero weights remain, AssertionError with use_weighting=False可能已有人在做 關聯的 PR 仍在進行中或已合併。 未關閉
難度 2/5 1-3 小時 新手友好度 85/100
維護者通常 13 天內回覆