Skip to content

Commit ddf8f92

Browse files
author
João Henrique Ferreira de Freitas
committed
Merge inets service configuration with simple_bridge configuration
1 parent c06d90e commit ddf8f92

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

src/inets_bridge_modules/inets_simple_bridge_sup.erl

+30-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ init([]) ->
3030
case proplists:get_value(httpd, Services) of
3131
undefined ->
3232
build_config(HasMimetypes);
33-
_ -> ok
33+
HttpdConfig ->
34+
merge_config(HasMimetypes, HttpdConfig)
3435
end
3536
end,
3637

@@ -81,6 +82,34 @@ build_config(HasMimetypes) ->
8182
application:set_env(inets, services, NewServices)
8283
end.
8384

85+
merge_config(HasMimetypes, HttpdConfig) ->
86+
io:format("Configuration for inets httpd exists, merging with simple_bridge.config...~n"),
87+
{Address, Port} = simple_bridge_util:get_address_and_port(inets),
88+
{DocRoot, StaticPaths} = simple_bridge_util:get_docroot_and_static_paths(inets),
89+
io:format("Starting Inets Server at ~p:~p~n", [Address, Port]),
90+
io:format("Static Paths: ~p~nDocument Root for Static: ~s~n", [StaticPaths, DocRoot]),
91+
92+
Modules = proplists:get_value(modules, HttpdConfig, []),
93+
94+
DefaultHttpd = [
95+
{bind_address, simple_bridge_util:parse_ip(Address)},
96+
{port, Port},
97+
{server_name, "simple_bridge_inets"},
98+
{server_root, "."},
99+
{document_root, DocRoot},
100+
{modules, lists:append(Modules, [simple_bridge_util:get_anchor_module(inets)])},
101+
{mime_types, build_mimetypes(HasMimetypes)}
102+
],
103+
104+
HttpdConfig0 = proplists:delete(modules, HttpdConfig),
105+
106+
MergedHttpd = lists:umerge(lists:sort(HttpdConfig0), lists:sort(DefaultHttpd)),
107+
108+
{ok, Services} = application:get_env(inets, services),
109+
110+
NewServices = lists:keyreplace(httpd, 1, Services, {httpd, MergedHttpd}),
111+
application:set_env(inets, services, NewServices).
112+
84113
build_mimetypes(true = _HasMimetypes) ->
85114
[{binary_to_list(Ext), binary_to_list(hd(mimetypes:ext_to_mimes(Ext)))}
86115
|| Ext <- mimetypes:extensions()];

0 commit comments

Comments
 (0)