Add Image Optimization Support
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
- 45/100
Hướng nghiên cứu
Bắt đầu với các WIT bindings trong stubs/wit_world/imports/image_optimizer.py và kiểm tra các triển khai chưa được hỗ trợ trong src/component/image_optimizer.rs và src/wiggle_abi/image_optimizer.rs. So sánh hình dạng wrapper được yêu cầu với các API Rust và JavaScript, sau đó bổ sung coverage cho việc xác thực tham số, chuyển đổi kiểu và các lỗi Unsupported; công việc được xem là hoàn tất khi API được tài liệu hóa tồn tại và các bài kiểm thử của nó đều vượt qua mà không yêu cầu Viceroy hỗ trợ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Overview
Add support for Fastly's Image Optimizer API, enabling on-the-fly image transformation and optimization.
WIT Interface
interface image-optimizer {
use http-body.{body};
use http-req.{request};
use http-resp.{response-with-body};
use types.{error};
use backend.{backend};
resource extra-image-optimizer-transform-options;
record image-optimizer-transform-options {
sdk-claims-opts: option<string>,
extra: option<borrow<extra-image-optimizer-transform-options>>,
}
transform-image-optimizer-request: func(origin-image-request: borrow<request>, origin-image-request-body: option<body>, origin-image-request-backend: borrow<backend>, io-transform-options: image-optimizer-transform-options) -> result<response-with-body, error>;
}
WIT bindings: stubs/wit_world/imports/image_optimizer.py
API Design
- Simple function-based API:
transform_image(request, body, backend, options) ImageOptimizerOptionsdataclass for transformation parameters- Returns tuple of
(Response, Body)with optimized image - Body should be
io.IOBase-compatible for streaming large images - Supports query parameter-based transformations (width, height, format, quality, etc.)
- Integration with Backend and Request/Response APIs
Cross-SDK Comparison: Rust has transform_image_optimizer_request(), JS has similar. Go support may vary. This is a specialized/premium feature - Python wrapper should match Rust's approach with transform function accepting request, backend, and options.
Viceroy Testing
Image Optimizer is NOT supported in Viceroy. The implementation returns Error::Unsupported for all calls (src/component/image_optimizer.rs:14, src/wiggle_abi/image_optimizer.rs:18).
Tests should:
- Verify the API wrapper exists and accepts correct parameters
- Skip or mark as expected to fail any tests that actually call
transform_image_optimizer_request() - Focus on testing parameter validation, type conversions, and error handling for
Unsupportederrors
This API is primarily testable in production or staging environments.
Reference
- Ngôn ngữ chính
- Python
- Star
- 5
- Fork
- 1
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
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 fastly/compute-sdk-python
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
fastly/compute-sdk-python#116 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
fastly/compute-sdk-python#98 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
fastly/compute-sdk-python#74 ·
-
Add HTTP Downstream Metadata API Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
fastly/compute-sdk-python#61 ·
-
fastly/compute-sdk-python#60 · 1 người được giao ·
Tất cả issue của fastly/compute-sdk-python
Issue tương tự
-
[Bug] reef-hermes tells me to resume with hermes --resume, which does not work from my shell Đang mởarea: harness bug status: needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Human-Agent-Society/reef#625 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
learningequality/kolibri#15351 · 2 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Name consistency Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
eellak/triplestore#65 · 1 bình luận ·