This is a websockets project written in Terraform and Python. Your websocket client can connect, subscribe to a topic and receive messages sent to that topic.
- Clone the repository
- Navigate to the
/terraform
directory - Run
terraform init
- Run
terraform apply
To connect use the command wscat -c wss://<YOUR_API_GW_INVOKE_URL>
e.g. wscat -c wss://abc123.execute-api.eu-west-1.amazonaws.com/dev
Once connected, press enter and the default response will give instructions on usage.
TODO
- Authorization: query string
- Authorization: x-api-key header
- Storage: change dynamoDB to cache e.g. elastic cache
- PING/PONG request/response to prevent client connection timeout
- Redis connection pooling