Define and implement all available protocols for file upload/download #89

Closed
opened 2025-10-29 13:08:47 +00:00 by stanislav.hejny · 1 comment

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 presign url feature, when downloading a file, instread 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. Right now the core module support s3 presign url feature, however, the amq router (the quarkus module) doesn't use this feature, instead it created its own data structure to pass the url, and read the url by itself.

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. The amq router (the quarkus module) should not have it's own logic to pull the url, it should delegate the feature to the core library.

Originally posted by @hurui200320 in clevermicro/amq-adapter-java#67 (comment)

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 presign url feature, when downloading a file, instread 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. Right now the core module support s3 presign url feature, however, the amq router (the quarkus module) doesn't use this feature, instead it created its own data structure to pass the url, and read the url by itself. 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. The amq router (the quarkus module) should not have it's own logic to pull the url, it should delegate the feature to the core library. _Originally posted by @hurui200320 in https://git.cleverthis.com/clevermicro/amq-adapter-java/issues/67#issue-3035_
stanislav.hejny added this to the V.01 milestone 2025-10-29 13:09:18 +00:00
Author
Member

implemented and merged to develop branch

implemented and merged to develop branch
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Blocks
You do not have permission to read 1 dependency
Reference
clevermicro/amq-adapter-python#89
No description provided.