Remove deprecated enum conversions
Implicit enum conversion was deprecated in C++20 with the result that JerryScript doesn't compile in newer versions of Clang, in my case LLVM 20. This patch removes implicit enum conversions and instead performs explicit casts.
Add proxy-chain plugin to chain multiple upstream service calls
@vahidaghazadeh Thanks so much for your contribution! API orchestration is a highly valuable feature that many developers need. It would be even more helpful if you could include usage documentation and some test cases to make it easier for others to adopt and validate.
Is this similar to the plug-in batch-request?
@vahidaghazadeh Thanks so much for your contribution! API orchestration is a highly valuable feature that many developers need. It would be even more helpful if you could include usage documentation and some test cases to make it easier for others to adopt and validate.
Yes, you are right It was my mistake, I forgot to commit the test file The test plugin was successfully implemented in the introduction repository, I just forgot to put it in the apisix repository
Is there anything wrong with the documentation I provided?
Is this similar to the plug-in batch-request?
No, this plugin is different from the batch-requests plugin in several ways.
Key Differences:
- Purpose:
proxy-chain is designed to sequentially call multiple backend services, merge their responses, and forward the final merged data to the upstream.
batch-requests allows clients to send multiple requests in a single HTTP call, and it executes them in parallel (or optionally in sequence), returning all responses back to the client as a batch.
- Response Handling:
proxy-chain merges the responses of the services into one unified request body that is then forwarded upstream.
batch-requests returns the raw responses of each sub-request as separate items in an array.
- Flow Direction:
proxy-chain is used in the request phase, before the final upstream is called. It acts as a transformation layer before reaching the main backend.
batch-requests is mostly client-driven — clients explicitly request multiple things, and the plugin acts more like a batch router.
- Use Case:
Use proxy-chain when you want to call multiple internal services, combine their outputs, and proceed with the final data as if it was one logical request.
Use batch-requests when a frontend or client needs to hit multiple endpoints in a single API call and receive all results independently.
was this code written by some AI tool?
was this code written by some AI tool?
Parts of the code and test writing were reviewed with auxiliary tools, but the overall structure and implementation were my final work and were done with the need for project development.
Hi @vahidaghazadeh, please fix failed ci
Hi @vahidaghazadeh, please fix failed ci
Hi @Baoyuantop CI failure fixed
Why is there an error in apisix action ci but it passes in my action repo?
I'm seeing some lint checking errors.
I'll convert this PR to draft first, if the changes are done please request review again.
Hi @vahidaghazadeh, please fix failed ci
Hi @vahidaghazadeh, any updates?
Hi @vahidaghazadeh, any updates?
Hi @Baoyuantop , the update is done. But considering the GitHub runners and apisix tests, I need to fix the possible bugs after running the pipelines. Because the plugin works properly in the production environment and only in the test file should the conflicts be fixed
Please fix the errors reported by CI.
This pull request has been marked as stale due to 60 days of inactivity. It will be closed in 4 weeks if no further activity occurs. If you think that's incorrect or this pull request should instead be reviewed, please simply write any comment. Even if closed, you can still revive the PR at any time or discuss it on the [email protected] list. Thank you for your contributions.