How it Works¶
It is very simple. When first invoked, cm-proxy creates AWS serverless resources to receive and enqueue external requests. To proxy these requests, it waits for messages in the queue and forwards them to the appropriate local endpoint.
A picture is worth a thousand words.
Unidirectional Proxy¶
The default proxy mode is unidirectional: a fixed 200 response is returned when incoming requests are queued, and the local response is ignored.
This is accomplished using a lambda and an SQS Queue.
Bidirectional Proxy¶
In bidirectional mode, the request handler waits for 25 seconds to get a response from the local and forward it back to the requester.
This is accomplished using a lambda, a state machine, and a queue. The lambda polls for a response, and the state machine simplifies the problem of associating a response with the original request.