|
18 | 18 | -type opts() :: [opt()].
|
19 | 19 |
|
20 | 20 | %% @doc Start the websocket client
|
21 |
| --spec start_link(URL :: string(), Handler :: module(), HandlerArgs :: list()) -> |
| 21 | +-spec start_link(URL :: string() | binary(), Handler :: module(), HandlerArgs :: list()) -> |
22 | 22 | {ok, pid()} | {error, term()}.
|
23 | 23 | start_link(URL, Handler, HandlerArgs) ->
|
24 | 24 | start_link(URL, Handler, HandlerArgs, []).
|
25 | 25 |
|
26 | 26 | start_link(URL, Handler, HandlerArgs, AsyncStart) when is_boolean(AsyncStart) ->
|
27 | 27 | start_link(URL, Handler, HandlerArgs, [{async_start, AsyncStart}]);
|
| 28 | +start_link(URL, Handler, HandlerArgs, Opts) when is_binary(URL) -> |
| 29 | + start_link(erlang:binary_to_list(URL), Handler, HandlerArgs, Opts); |
28 | 30 | start_link(URL, Handler, HandlerArgs, Opts) when is_list(Opts) ->
|
29 | 31 | case http_uri:parse(URL, [{scheme_defaults, [{ws,80},{wss,443}]}]) of
|
30 | 32 | {ok, {Protocol, _, Host, Port, Path, Query}} ->
|
|
0 commit comments