feat: presigned URL upload path for large objects
- Add presign_objects to MuseTransport protocol and HttpTransport POST /presign → {oid: presigned_put_url} map - Add _presigned_put helper in push.py for direct R2/S3 PUT - Split large objects (> LARGE_OBJECT_THRESHOLD) out of push_stream payload; upload via presigned URL to bypass Cloudflare limits - TDD: 13 tests covering T14 (transport) and T15 (push split)
sha256:22b91c12783fdd2e865e94bc4ce7d89580e70e72cac175b366cba58ab6185ba9
sha
+42
~5
symbols
sha256:6aa8daaae6f5cd25ee21827bde54eb596e3531298c2934721393fd6e988948b9
snapshot
+42
symbols added
~5
symbols modified
0
dead code introduced
Semantic Changes
47 symbols
+
test_presign_objects_empty_list_returns_empty_dict
method
method test_presign_objects_empty_list_returns_empty_dict L146–154
+
test_presign_objects_in_musettransport_protocol
method
method test_presign_objects_in_musettransport_protocol L156–161
+
test_presign_objects_posts_to_presign_endpoint
method
method test_presign_objects_posts_to_presign_endpoint L86–104
+
test_presign_objects_sends_object_ids_in_body
method
method test_presign_objects_sends_object_ids_in_body L120–144
+
test_large_object_not_in_push_stream_payload
method
method test_large_object_not_in_push_stream_payload L271–284
+
test_presign_not_called_when_all_objects_small
method
method test_presign_not_called_when_all_objects_small L322–344
+
test_presign_objects_called_for_large_objects
method
method test_presign_objects_called_for_large_objects L304–320
+
test_presigned_put_is_issued_for_large_object
method
method test_presigned_put_is_issued_for_large_object L346–362
+
test_push_stream_still_called_after_presigned_upload
method
method test_push_stream_still_called_after_presigned_upload L383–391
+
test_small_object_still_in_push_stream_payload
method
method test_small_object_still_in_push_stream_payload L286–302
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:22b91c12783fdd2e865e94bc4ce7d89580e70e72cac175b366cba58ab6185ba9 --body "your comment"
No comments yet. Be the first to start the discussion.