IPv6 node addresses produce an invalid request URL
評估
- 難度
- 2/5
- 預估耗時
- 1-3 小時
- 新手友好度
- 82/100
- Issue 類型
- 缺陷
- 描述清晰度
- 描述清楚
- 活躍度
- 活躍
- 技術堆疊
- python
- 領域
- backend, networking
研究方向
先閱讀 Node.url() 和 Node.from_url(),因為 issue 指出這兩處會遺失或省略 IPv6 方括號。使用提供的 URL 和 node dict 範例重現問題,接著檢查用戶端中建構節點 URL 的測試。兩種設定都產生 http://[::1]:8108,且請求不再因 httpx.InvalidURL 失敗時,即表示完成。
由索引模型根據 Issue 內容生成。
描述
A node with an IPv6 address can't be reached. Node.url() joins the host and port as {host}:{port} without enclosing an IPv6 literal in brackets, so every request fails with httpx.InvalidURL before it is sent.
Both ways of configuring a node are affected:
- A URL string such as
"http://[::1]:8108".Node.from_urltakes the host fromurlparse(url).hostname, which strips the brackets, so the host is stored as::1. - A node dict such as
{"host": "::1", "port": 8108, "protocol": "http"}.
Steps to reproduce
import typesense
client = typesense.Client({
"api_key": "xyz",
"nodes": ["http://[::1]:8108"],
"num_retries": 0,
})
print(client.api_call.node_manager.nodes[0].url())
client.operations.is_healthy()
Actual behavior
http://::1:8108
httpx.InvalidURL: Invalid port: ':1:8108'
Expected behavior
The client sends requests to http://[::1]:8108.
Environment
- typesense-python:
master(8727d2b) - httpx 0.28.1
- 主要語言
- Python
- 星號
- 247
- 分支
- 66
- 平均合併
- 1 天 1 小時
- 30 天內合併 PR
- 7
環境準備
這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
typesense/typesense-python 的其他 Issue
-
`MultiSearchResponse` type does not account for union search response shape可能已有人在做 @tharropoulos 於 171 天前認領。 未關閉
難度 2/5 1-3 小時 新手友好度 78/100
typesense/typesense-python#128 ·
-
`documents.Documents.import_()` `batch_size` argument is ignored, type of `import_parameters` is missing `batch_size`可能已有人在做 @tharropoulos 於 244 天前認領。 未關閉
難度 2/5 1-2 天 新手友好度 68/100
typesense/typesense-python#124 ·
-
難度 1/5 1 小時以內 新手友好度 68/100
typesense/typesense-python#100 ·
-
難度 3/5 1-2 天 新手友好度 35/100
typesense/typesense-python#122 · 3 則留言 ·
-
[Bug] - DeprecationWarning on instantiation of Client可能已有人在做 @tharropoulos 於 265 天前認領。 未關閉
難度 3/5 1-2 天 新手友好度 55/100
typesense/typesense-python#114 · 8 則留言 ·
查看 typesense/typesense-python 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 67/100
MISP/misp-workbench#496 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 66/100
維護者通常 1 天內回覆
-
難度 1/5 1-3 小時 新手友好度 88/100
fossasia/visdom-dev#69 ·
維護者通常 3 天內回覆
-
[Bug] Parameters named like a property break to_xcal()可能已有人在做 @atharvasalunke1267 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 65/100
collective/icalendar#2018 · 2 則留言 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 75/100
維護者通常 1 天內回覆