-module(nerf@gun). -compile(no_auto_import). -export([open/2, open_erl/2, await_up/1, ws_upgrade/3, ws_send/2]). -export_type([stream_reference/0, connection_pid/0, frame/0, ok_atom/0]). -type stream_reference() :: any(). -type connection_pid() :: any(). -type frame() :: close | {text, binary()} | {binary, bitstring()}. -type ok_atom() :: any(). -spec open(binary(), integer()) -> {ok, connection_pid()} | {error, gleam@dynamic:dynamic()}. open(Host, Port) -> gun:open(gleam@erlang@charlist:from_string(Host), Port). -spec open_erl(gleam@erlang@charlist:charlist(), integer()) -> {ok, connection_pid()} | {error, gleam@dynamic:dynamic()}. open_erl(A, B) -> gun:open(A, B). -spec await_up(connection_pid()) -> {ok, gleam@dynamic:dynamic()} | {error, gleam@dynamic:dynamic()}. await_up(A) -> gun:await_up(A). -spec ws_upgrade(connection_pid(), binary(), list({binary(), binary()})) -> stream_reference(). ws_upgrade(A, B, C) -> gun:ws_upgrade(A, B, C). -spec ws_send(connection_pid(), frame()) -> nil. ws_send(Pid, Frame) -> gun:ws_send(Pid, Frame), nil.