My setup:
vibe-d 0.7.23
wss connection
the handler and start function are in one class (Server).

class Server {
	
	void handleConnection(scope WebSocket socket) {
		logInfo("Someone became online!");
		while (socket.connected) {
			auto msg = socket.receiveText();
			socket.send(msg);
		}
		logInfo("Someone went offline!");
	}
	
	void start() {
		auto router = new URLRouter;
		router.get("/live", handleWebSockets(&handleConnection));
		
		auto settings = new HTTPServerSettings;
		settings.port = 9996;
		settings.bindAddresses = ["127.0.0.1"];
		// ssl settings
		settings.sslContext = createSSLContext(SSLContextKind.server);
        settings.sslContext.useCertificateChainFile("ssl/server.crt");
	settings.sslContext.usePrivateKeyFile("ssl/server.key");

		
		listenHTTP(settings, router);
	}
	
}