# Copyright(c) 2015-2018 ACCESS CO., LTD. All rights reserved. defmodule AntikytheraCore.Handler.Healthcheck do require AntikytheraCore.Logger, as: L defmodule Initialized do @behaviour :cowboy_handler @impl true def init(req, nil) do {:ok, :cowboy_req.reply(200, %{}, "healthcheck: OK", req), nil} end end defmodule Uninitialized do @behaviour :cowboy_handler @impl true def init(req, nil) do L.info("healthcheck: not yet initialized... returning 400") # We have to close the connection (i.e. not to keep-alive the connection for the next healthcheck request) # so that changes in cowboy routing take effect after initialization finished. {:ok, :cowboy_req.reply(400, %{"connection" => "close"}, "healthcheck: still initializing", req), nil} end end end