Packages

Client for Chrome Proxy Service which enables scalable remote debug protocol connections to managed Headless Chrome instances.

Current section

Files

Jump to
chroxy_client lib chroxy_client.ex
Raw

lib/chroxy_client.ex

defmodule ChroxyClient do
require Logger
alias ChromeRemoteInterface.{HTTP, PageSession}
@chrome_server %{host: "localhost", port: 1330}
@doc """
Requests Chroxy Server for websocket uri for a page RDP
session.
"""
def session!(server \\ @chrome_server) do
{:ok, ws} = HTTP.call(server, "/api/v1/connection")
Logger.debug("WebSocket: #{ws}")
ws
end
@doc """
Requests Chroxy Server for websocket uri for a page RDP
session, and spawn a `ChromeRemoteInterface` `PageSession`.
"""
def page_session!(server \\ @chrome_server) do
server
|> session!()
|> PageSession.start_link()
|> elem(1)
end
end