Uri does not parse valid URIs with empty authority portion
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- rust
- Lĩnh vực
- backend-api-design, networking
Hướng nghiên cứu
Bắt đầu với các điểm truy cập Uri parser và Uri::from_parts được mô tả trong issue, rồi so sánh hành vi của chúng với quy tắc authority rỗng của RFC 3986. Tái hiện cả hai ví dụ được cung cấp, sau đó bổ sung coverage tập trung để thể hiện cách xử lý dự kiến và xác nhận hành vi parsing và xây dựng parts tương ứng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Per RFC 3986, a valid URI may contain an empty authority (via an empty reg-name). However, it does not parse correctly by the Uri type:
[src/main.rs:6:5] "file:///a/b/c".parse::<Uri>() = Err(
InvalidUri(
InvalidFormat,
),
Similarly, from_parts complains specifically that the authority is missing:
[src/main.rs:11:5] Uri::from_parts(parts) = Err(
InvalidUriParts(
InvalidUri(
AuthorityMissing,
),
),
I could look into a change here, but note this fix would also be a breaking behavior change, and if any users are intentionally using this to enforce a non-empty authority, then they would be impacted.
cc @seanmonstar @LucioFranco - thanks!
- Ngôn ngữ chính
- Rust
- Star
- 1.4k
- Fork
- 378
- Merge trung bình
- 1 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 5
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của hyperium/http
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 62/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 62/100
Tất cả issue của hyperium/http
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
state:needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
zed-industries/zed#64680 · 2 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
RustPython/RustPython#8802 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
TheLarkInn/aipm#2390 ·