Add nonProxyHosts to ProxyConfiguration
Maintainer thường phản hồi trong vòng 1 ngày
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
- 48/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- java
- Lĩnh vực
- api, backend, networking
Hướng nghiên cứu
Bắt đầu bằng cách xác định ProxyConfiguration và ClientConfigurations, sau đó theo dõi cách ProxySelector đi qua lớp Dialogue đến các HTTP client bên dưới. Xem xét cấu hình proxy hiện có và hành vi của API trước khi xử lý các tương tác giữa định dạng danh sách, quy tắc khớp, CIDR, SOCKS, mesh và DNS-refresh. Hoàn tất khi có thể cấu hình các host không dùng proxy và các request khớp sẽ bỏ qua proxy mà không làm hỏng các cấu hình hiện có.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
There isn't currently a way to specify non-proxy hosts for conjure generated clients. This is an FR to add a configuration field for explicitly configuring no-proxy hosts (separate from #3166, which would pull from environment)
Add a new nonProxyHosts field to ProxyConfiguration, and change ClientConfigurations to produce a new ProxySelector that matches on the provided non-proxy hosts in order to determine whether to indicate passthrough or proxy. Since the ProxySelector is passed through the Dialogue layer to the underlying hc clients, no modifications should be needed for https outside c-j-r and the associated api.
While this should be a straightforward change, there are a number of things to discuss:
- How should backcompat and rollout be handled? Since this is an additive change, it will not break compat with existing configuration. However, if a service were to have picked up non-proxy-hosts configuration via discovery and then roll back to a non-supported version, the proxy settings could either silently break or error out.
- The first use cases will be with static non-proxy hosts that are introduced programmatically, which makes this a bit less of a concern.
- Should the nonProxyHosts be a List or a String?
- Using a List would be less confusing for end users, and would elide discussion around whether the string should be delimited by commas (no_proxy envvar) or pipe characters (java).
- Should CIDR blocks be supported?
- Initial implementation could just not support this and error out instead.
- Should domain suffix matching require explicit asterisks like in the Java case?
- It would probably make more sense to make this behave more like the no-proxy envvar and suffix match even without wildcards.
- How should socks proxies and mesh be handled?
- The best option might be to error out on configurations with a socks proxy or mesh is used with nonProxyHosts.
Some further investigation is required to determine how no-proxy will interact with Dialogue's custom DNS refreshing. Initial impression is that it should work with hostnames, but it probably won't work with IPs matching resolved hostnames (instead of other IPs), since the DNS resolution happens after the ProxySelector callback.
- Ngôn ngữ chính
- Java
- Star
- 96
- Fork
- 95
- Merge trung bình
- 12 phút
- Pull request đã merge (30 ngày)
- 55
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
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 palantir/conjure-java-runtime
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 50/100
palantir/conjure-java-runtime#3166 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Support duration based retriesĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
palantir/conjure-java-runtime#2490 · 3 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
palantir/conjure-java-runtime#2248 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
palantir/conjure-java-runtime#2131 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 42/100
palantir/conjure-java-runtime#1882 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của palantir/conjure-java-runtime
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
quarkusio/quarkus-agent-mcp#302 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
build
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
MetricsHub/metricshub-community#1472 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
IdentityArrayObjectSet iterator remove may throw ArrayIndexOutOfBoundsExceptionCó thể đã có người làm @jiteshkhatri11 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
javapathfinder/jpf-core#660 · 1 bình luận ·