Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

IPv6 node addresses produce an invalid request URL

未關閉 適合新手
#154 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

@RaphaelFakhri 已經在處理了。

開始於 2026年10月22日。

  • #155 來自 @RaphaelFakhri —— 未關閉

評估

難度
2/5
預估耗時
1-3 小時
新手友好度
82/100
Issue 類型
缺陷
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
python

研究方向

先閱讀 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_url takes the host from urlparse(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,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

typesense/typesense-python 的其他 Issue

查看 typesense/typesense-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。