/*
 * https://webfolder.io/license.html
 */
package io.webfolder.cdp.channel;

import org.apache.tomcat.websocket.WsWebSocketContainer;

import io.webfolder.cdp.Example;
import io.webfolder.cdp.Launcher;
import io.webfolder.cdp.session.Session;
import io.webfolder.cdp.session.SessionFactory;

@Example
public class TomcatWebSocketConnection {

    public static void main(String[] args) {
        WsWebSocketContainer container = new WsWebSocketContainer();

        // Use StandardWebSocketFactory (javax) if tomcat version is <= 9
        JakartaWebSocketFactory channelFactory = new JakartaWebSocketFactory(container);

        Launcher launcher = new Launcher(channelFactory);

        try (SessionFactory factory = launcher.launch();
                            Session session = factory.create()) {
            session.addCloseListener(() -> container.destroy());
            session.navigate("https://webfolder.io?cdp4j");
            session.waitDocumentReady();
            String content = session.getContent();
            System.out.println(content);
        } finally {
            launcher.kill();
        }
    }
}