in chalice/package.py [0:0]
def _inject_websocketapi_outputs(self, websocket_api_id, template):
# type: (str, Dict[str, Any]) -> None
aws_lambda_functions = template['resource']['aws_lambda_function']
stage_name = \
template['resource']['aws_apigatewayv2_stage'][
'websocket_api_stage'][
'name']
output = template.setdefault('output', {})
output['WebsocketAPIId'] = {"value": websocket_api_id}
if 'websocket_connect' in aws_lambda_functions:
output['WebsocketConnectHandlerArn'] = {
"value": "${aws_lambda_function.websocket_connect.arn}"}
output['WebsocketConnectHandlerName'] = {
"value": (
"${aws_lambda_function.websocket_connect.function_name}")}
if 'websocket_message' in aws_lambda_functions:
output['WebsocketMessageHandlerArn'] = {
"value": "${aws_lambda_function.websocket_message.arn}"}
output['WebsocketMessageHandlerName'] = {
"value": (
"${aws_lambda_function.websocket_message.function_name}")}
if 'websocket_disconnect' in aws_lambda_functions:
output['WebsocketDisconnectHandlerArn'] = {
"value": "${aws_lambda_function.websocket_disconnect.arn}"}
output['WebsocketDisconnectHandlerName'] = {
"value": (
"${aws_lambda_function.websocket_disconnect"
".function_name}")}
output['WebsocketConnectEndpointURL'] = {
"value": (
'wss://%(websocket_api_id)s.execute-api'
# The api_gateway_stage is filled in when
# the template is built.
'.${data.aws_region.chalice.name}'
'.amazonaws.com/%(stage_name)s/'
) % {
"stage_name": stage_name,
"websocket_api_id": websocket_api_id
}
}