I didn’t have a concrete idea as the internal way the replicas communicate, I havent looked at and so maybe this is not feasible. But the general idea was something like:
- Canister in every replica will do the post request. This will be caught by the IC system.
- Having POST requests from all the replicas, the system will come to a conclusion through consensus on what is the right post request to send and which replica will actually send the post request.
- The selected replica will send the request. All of these happening at the system level and I was hoping there is no way, the replica can change the request at this point. But as you say, we may not have any control what the replica does and the replica could change the request right before sending.
- On receiving the response the selected replica will again send the response back to all the replicas
Basically, in overview the idea was that subnet decides what is the right post request to send through consensus and chooses one replica to send it. There is overhead of consensus …etc and so its not efficient compared to the other solution.