Support for WebSocket consoles

This commit is contained in:
grossmj
2020-01-31 17:31:27 +08:00
parent 39d44c8480
commit c313475f68
10 changed files with 207 additions and 4 deletions

View File

@ -362,3 +362,16 @@ class VPCSHandler:
port_number = int(request.match_info["port_number"])
nio = vm.get_nio(port_number)
await vpcs_manager.stream_pcap_file(nio, vm.project.id, request, response)
@Route.get(
r"/projects/{project_id}/vpcs/nodes/{node_id}/console/ws",
description="WebSocket for console",
parameters={
"project_id": "Project UUID",
"node_id": "Node UUID",
})
async def console_ws(request, response):
vpcs_manager = VPCS.instance()
vm = vpcs_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
return await vm.start_websocket_console(request)