From 69b36cf003212e98800d5f27af74bb59f3bbca5d Mon Sep 17 00:00:00 2001 From: Hayleigh Thompson Date: Sun, 18 Feb 2024 10:45:00 +0000 Subject: :recycle: Big refactor of CLI-related things. --- src/lustre_try_ffi.erl | 115 ------------------------------------------------- 1 file changed, 115 deletions(-) delete mode 100644 src/lustre_try_ffi.erl (limited to 'src/lustre_try_ffi.erl') diff --git a/src/lustre_try_ffi.erl b/src/lustre_try_ffi.erl deleted file mode 100644 index 0209c14..0000000 --- a/src/lustre_try_ffi.erl +++ /dev/null @@ -1,115 +0,0 @@ --module(lustre_try_ffi). --export([serve/3, response_default_headers/0, exec/1]). - -serve({options, Name, Host, Port, NoStyles}, OnStart, OnPortTaken) -> - Html = - << - "\n" - "\n" - "\n" - " \n" - " \n" - " Lustre preview server\n", - case NoStyles of - true -> - <<"">>; - false -> - <<" \n">> - end/binary, - " \n" - "\n" - "\n" - "
\n" - "\n" - "" - >>, - - file:write_file("build/dev/javascript/index.html", Html), - - AbsPath = - string:trim( - filename:absname("build/dev/javascript"), trailing, "/." - ), - - inets:start(), - Address = {127, 0, 0, 1}, - - ActualPort = - case port_available(Port) of - true -> - Port; - false -> - OnPortTaken(Port), - first_available_port(Port + 1) - end, - - {ok, Pid} = - httpd:start_service([ - {bind_address, Address}, - {document_root, AbsPath}, - {server_root, AbsPath}, - {directory_index, ["index.html"]}, - {server_name, binary_to_list(Host)}, - {port, ActualPort}, - {default_type, "text/html"}, - {mime_types, mime_types()}, - {customize, ?MODULE}, - {modules, [mod_alias, mod_dir, mod_get]} - ]), - - OnStart(ActualPort), - - receive - {From, shutdown} -> - ok = httpd:stop_service(Pid), - From ! done - end. - -port_available(Port) -> - case gen_tcp:listen(Port, []) of - {ok, Sock} -> - ok = gen_tcp:close(Sock), - true; - _ -> - false - end. - -first_available_port(Port) -> - case port_available(Port) of - true -> Port; - false -> first_available_port(Port + 1) - end. - -mime_types() -> - [ - {"html", "text/html"}, - {"htm", "text/html"}, - {"js", "text/javascript"}, - {"mjs", "text/javascript"}, - {"css", "text/css"}, - {"gif", "image/gif"}, - {"jpg", "image/jpeg"}, - {"jpeg", "image/jpeg"}, - {"png", "image/png"} - ]. - -response_default_headers() -> - [ - {"cache-control", "no-store, no-cache, must-revalidate, private"}, - {"pragma", "no-cache"} - ]. - -exec(Cmd) -> - Stdout = os:cmd(unicode:characters_to_list(Cmd)), - - unicode:characters_to_binary(Stdout). -- cgit v1.2.3