diff --git a/dudeswave/src/dudeswave_app.erl b/dudeswave/src/dudeswave_app.erl index 5d09989..a6082f1 100644 --- a/dudeswave/src/dudeswave_app.erl +++ b/dudeswave/src/dudeswave_app.erl @@ -25,7 +25,17 @@ start(_Type, StartArgs) -> end, {ok, Port} = application:get_env(port), - {ok, Bucket} = application:get_env(bucket), + + Bucket = case application:get_env(bucket) of + {ok, V} -> V; + false -> dudeswave + end, + + ok = case storage:create(Bucket) of + ok -> bootstrap(Bucket); + {error, {already_exists, Bucket, _}} -> ok; + _ -> exit(storage_bootstrap_failed) + end, Dispatch = cowboy_router:compile([ {'_', [{"/", dudeswave_handler, #{bucket => Bucket}}]} @@ -41,4 +51,9 @@ start(_Type, StartArgs) -> dudeswave_supervisor:start_link(StartArgs). stop(_State) -> - cowboy:stop_listener(dudeswave_listener). \ No newline at end of file + cowboy:stop_listener(dudeswave_listener). + +% +% Bootstrap procedure to be completed +% +bootstrap(_Bucket) -> ok.