feat/#89: Implement File streaming protocol to support all addressing modes both on send and receive. Phase 1 that passes unit tests. #113

Merged
stanislav.hejny merged 9 commits from feat/89 into develop 2025-11-24 13:47:36 +00:00

For multipart upload, we defined req-info as the stream name for request itself, this allow us to send out a multi-stream message that contain both the request info and the uploaded content. However, the reverse path doesn't have similar things define. With the newly added pre-signed url feature, when downloading a file, instead of streaming the actual content, the microservice can give a presign url and the amq router will stream the content of that url to client.

This ticket should first define a similar thing for response, like resp-info as the stream name to send an json object about the metadata of the downloaded file, then point to the actual file stream. When sending out the response, the caller should use addressing mode 4 to send the presign url, so the amq library can automatically use it and turns into an inputstream for amq router to use.

For multipart upload, we defined `req-info` as the stream name for request itself, this allow us to send out a multi-stream message that contain both the request info and the uploaded content. However, the reverse path doesn't have similar things define. With the newly added pre-signed url feature, when downloading a file, instead of streaming the actual content, the microservice can give a presign url and the amq router will stream the content of that url to client. This ticket should first define a similar thing for response, like `resp-info` as the stream name to send an json object about the metadata of the downloaded file, then point to the actual file stream. When sending out the response, the caller should use addressing mode 4 to send the presign url, so the amq library can automatically use it and turns into an inputstream for amq router to use.
feat/#89: Implement File streaming protocol to support all addressing modes both on send and receive. Phase 1 that passes unit tests.
All checks were successful
/ should-publish (push) Successful in 5s
/ run-unit-tests (push) Successful in 52s
/ build-and-push-otdemo (push) Successful in 44s
/ run-integration-tests-cleverswarm (push) Successful in 21m13s
/ publish-python-library (push) Has been skipped
/ run-internal-integration-tests (push) Successful in 18m5s
1de2d1824b
feat/#89: Implement File streaming protocol to support all addressing modes both on send and receive. Phase 2 that supports DataResponse with file.
Some checks failed
/ should-publish (push) Successful in 6s
/ run-unit-tests (push) Failing after 44s
/ build-and-push-otdemo (push) Has been skipped
/ run-internal-integration-tests (push) Has been skipped
/ run-integration-tests-cleverswarm (push) Has been skipped
/ publish-python-library (push) Has been skipped
0528a20579
feat/#89: Remove the warnings fund during pytest run
Some checks failed
/ should-publish (push) Successful in 4s
/ run-unit-tests (push) Successful in 53s
/ publish-python-library (push) Has been skipped
/ run-integration-tests-cleverswarm (push) Successful in 21m31s
/ build-and-push-otdemo (push) Successful in 47s
/ run-internal-integration-tests (push) Failing after 20m38s
b06e9a1f10
feat/#89: Add test script to try all otdemo frontend endpoints
Some checks failed
/ should-publish (push) Successful in 4s
/ build-and-push-otdemo (push) Has been skipped
/ run-unit-tests (push) Failing after 39s
/ publish-python-library (push) Has been skipped
/ run-internal-integration-tests (push) Has been skipped
/ run-integration-tests-cleverswarm (push) Has been skipped
557a0fd756
feat/#89: rename the test script because it is not unit test file
Some checks failed
/ should-publish (push) Successful in 4s
/ publish-python-library (push) Has been skipped
/ run-unit-tests (push) Successful in 51s
/ run-integration-tests-cleverswarm (push) Successful in 21m16s
/ build-and-push-otdemo (push) Successful in 45s
/ run-internal-integration-tests (push) Failing after 27m8s
daaf60ecbf
stanislav.hejny changed title from WIP: feat/#89: Implement File streaming protocol to support all addressing modes both on send and receive. Phase 1 that passes unit tests. to feat/#89: Implement File streaming protocol to support all addressing modes both on send and receive. Phase 1 that passes unit tests. 2025-11-23 13:00:36 +00:00
stanislav.hejny added this to the V.01 milestone 2025-11-23 13:00:47 +00:00
ci: update java amq router docker image tag
Some checks failed
/ build-and-push-otdemo (push) Successful in 46s
/ run-integration-tests-cleverswarm (push) Failing after 12m9s
/ publish-python-library (push) Has been skipped
/ run-unit-tests (push) Successful in 53s
/ should-publish (push) Successful in 5s
/ run-internal-integration-tests (push) Successful in 19m6s
d2b863b3cd
build: build python library for 0.3.0
Some checks failed
/ run-unit-tests (push) Has been cancelled
/ build-and-push-otdemo (push) Has been cancelled
/ should-publish (push) Successful in 5s
/ run-internal-integration-tests (push) Has been cancelled
/ run-integration-tests-cleverswarm (push) Has been cancelled
/ publish-python-library (push) Has been cancelled
76874dd1f0
hurui200320 force-pushed feat/89 from 76874dd1f0
Some checks failed
/ run-unit-tests (push) Has been cancelled
/ build-and-push-otdemo (push) Has been cancelled
/ should-publish (push) Successful in 5s
/ run-internal-integration-tests (push) Has been cancelled
/ run-integration-tests-cleverswarm (push) Has been cancelled
/ publish-python-library (push) Has been cancelled
to d84a9f9fde
Some checks failed
/ build-and-push-otdemo (push) Successful in 45s
/ should-publish (push) Successful in 5s
/ run-unit-tests (push) Successful in 54s
/ publish-python-library (push) Successful in 46s
/ run-integration-tests-cleverswarm (push) Has been cancelled
/ run-internal-integration-tests (push) Has been cancelled
2025-11-24 07:23:26 +00:00
Compare
ci: update cleverswarm lite docker image tag
Some checks failed
/ should-publish (push) Successful in 6s
/ build-and-push-otdemo (push) Successful in 43s
/ run-unit-tests (push) Successful in 1m0s
/ publish-python-library (push) Has been skipped
/ run-integration-tests-cleverswarm (push) Failing after 7m58s
/ run-internal-integration-tests (push) Successful in 19m34s
f3b7b279d3
hurui200320 left a comment
Member

The code looks good to me. Although the pipeline is failing, but Stan and I have already figured out the issue and fix for the pipeline. It's outside of this repo (the fix should be impl in cleverswarm-lite), so I will approve this PR. After Stan fixed the issue and update the pipeline and everything passes, this PR should be good to go.

The code looks good to me. Although the pipeline is failing, but Stan and I have already figured out the issue and fix for the pipeline. It's outside of this repo (the fix should be impl in cleverswarm-lite), so I will approve this PR. After Stan fixed the issue and update the pipeline and everything passes, this PR should be good to go.
feat/#89: Update CleverSwarm-lite image tag to fix bug associated with access to base64 payload that comes with AMQ Adapter v0.3.0
All checks were successful
/ run-unit-tests (push) Successful in 53s
/ build-and-push-otdemo (push) Successful in 15s
/ should-publish (push) Successful in 6s
/ publish-python-library (push) Has been skipped
/ run-internal-integration-tests (push) Successful in 19m11s
/ run-integration-tests-cleverswarm (push) Successful in 21m28s
0bf302c914
Sign in to join this conversation.
No reviewers
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
clevermicro/amq-adapter-python!113
No description provided.