@@ -0,0 +1,1311 @@
+package io.vertx.example.web.graphql;%0A%0Aimport io.vertx.core.AbstractVerticle;%0Aimport io.vertx.core.Launcher;%0Aimport io.vertx.core.http.HttpClient;%0Aimport io.vertx.core.http.HttpClientOptions;%0Aimport io.vertx.core.http.WebSocket;%0Aimport io.vertx.core.json.JsonObject;%0Aimport io.vertx.ext.web.handler.graphql.ApolloWSMessageType;%0A%0Apublic class SubscriptionClient extends AbstractVerticle %7B%0A%0A  public static void main(String%5B%5D args) %7B%0A    Launcher.executeCommand(%22run%22, SubscriptionClient.class.getName());%0A  %7D%0A%0A  @Override%0A  public void start() %7B%0A    HttpClient httpClient = vertx.createHttpClient(new HttpClientOptions().setDefaultPort(8080));%0A    httpClient.webSocket(%22/graphql%22).setHandler(websocketRes -%3E %7B%0A      if (websocketRes.succeeded()) %7B%0A        WebSocket webSocket = websocketRes.result();%0A%0A        webSocket.handler(message -%3E %7B%0A          System.out.println(message.toJsonObject().encodePrettily());%0A        %7D);%0A%0A        JsonObject request = new JsonObject()%0A          .put(%22id%22, %221%22)%0A          .put(%22type%22, ApolloWSMessageType.START.getText())%0A          .put(%22payload%22, new JsonObject()%0A            .put(%22query%22, %22subscription %7B links %7B url, postedBy %7B name %7D %7D %7D%22));%0A        webSocket.write(request.toBuffer());%0A      %7D else %7B%0A        websocketRes.cause().printStackTrace();%0A      %7D%0A    %7D);%0A  %7D%0A%0A%7D%0A

Add GraphQL subscription client example