I think it's slightly confusing that the parser example is inside the socket.onopen