[REQ][csharp][restsharp] Option to construct RestClient with useClientFactory: true
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ó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 82/100
Hướng nghiên cứu
Đọc template ApiClient.mustache của trình tạo C# RestSharp và tìm nơi nó khởi tạo RestClient; sau đó lần theo các định nghĩa tùy chọn và bài kiểm thử của trình tạo đối với những tùy chọn ảnh hưởng đến đầu ra được tạo. Thêm tùy chọn useClientFactory không bật theo mặc định, với giá trị mặc định là false, và xác minh rằng đầu ra được tạo không thay đổi theo mặc định, còn khi bật tùy chọn thì truyền useClientFactory: true.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Is your feature request related to a problem? Please describe.
The restsharp ApiClient creates a new RestClient per request, and RestSharp creates a new HttpClient per RestClient. Under load this exhausts sockets (connections pile up in TIME_WAIT), the classic HttpClient-per-request problem.
Describe the solution you'd like
An opt-in generator option useClientFactory (default false, generated output unchanged) that passes useClientFactory: true to the RestClient constructor in ApiClient.mustache, so RestSharp reuses a cached HttpClient per base URL.
See useClientFactory
Describe alternatives you've considered
- Custom templates via
-t:ApiClient.mustacheis a single ~600-line template, so users fork all of it to change one constructor argument and then drift from upstream fixes. - Caching the
RestClientinApiClient: a larger change to its lifetime and thread-safety.
Additional context
RestSharp's factory caches the HttpClient process-wide per base URL, so handler settings of the first RestClient (Proxy, ClientCertificates, RemoteCertificateValidationCallback, UseDefaultCredentials) apply to later ones. That is why the option should be opt-in.
cc @mandrean @shibayan @Blackclaws @lucamazzanti
- Ngôn ngữ chính
- Java
- Star
- 26.8k
- Fork
- 7.7k
- Merge trung bình
- 1 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 185
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọ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 OpenAPITools/openapi-generator
-
Issue: Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
OpenAPITools/openapi-generator#25475 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG][KOTLIN] jvm-retrofit2: DELETE with requestBody fails with "Non-body HTTP method cannot contain @Body"Có thể đã có người làm @cpruijsen đã nhận 1 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
OpenAPITools/openapi-generator#25454 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[REQ][JAVA][resteasy] Support for Jackson 3 / useJackson3Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởEnhancement: Feature
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
OpenAPITools/openapi-generator#25364 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG][RUST] chrono date-time path/query/header params are not serialized as RFC 3339Có thể đã có người làm @teovillanueva đã nhận 12 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
OpenAPITools/openapi-generator#25297 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG][RUST] Reqwest - encoding of spaces in path parametersCó thể đã có người làm @GlenWright đã nhận 16 ngày trước. Đang mởIssue: Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
OpenAPITools/openapi-generator#25257 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của OpenAPITools/openapi-generator
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
bug/错误
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
FCL-Team/FoldCraftLauncher#1982 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG] micronaut-serde-oracle-jdbc-json brings a second OJDBC driver onto the runtime classpathCó thể đã có người làm @ZARAYACH đã 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
micronaut-projects/micronaut-serialization#1494 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 75/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
Maintainer thường phản hồi trong vòng 2 ngày