aboutsummaryrefslogtreecommitdiff
path: root/shardweb/lib/shard_web/endpoint.ex
diff options
context:
space:
mode:
Diffstat (limited to 'shardweb/lib/shard_web/endpoint.ex')
-rw-r--r--shardweb/lib/shard_web/endpoint.ex59
1 files changed, 59 insertions, 0 deletions
diff --git a/shardweb/lib/shard_web/endpoint.ex b/shardweb/lib/shard_web/endpoint.ex
new file mode 100644
index 0000000..6883493
--- /dev/null
+++ b/shardweb/lib/shard_web/endpoint.ex
@@ -0,0 +1,59 @@
+defmodule ShardWeb.Endpoint do
+ use Phoenix.Endpoint, otp_app: :shardweb
+
+ socket "/socket", ShardWeb.UserSocket
+
+ # Serve at "/" the static files from "priv/static" directory.
+ #
+ # You should set gzip to true if you are running phoenix.digest
+ # when deploying your static files in production.
+ plug Plug.Static,
+ at: "/", from: :shardweb, gzip: false,
+ only: ~w(css fonts images js favicon.ico robots.txt)
+
+ # Code reloading can be explicitly enabled under the
+ # :code_reloader configuration of your endpoint.
+ if code_reloading? do
+ socket "/phoenix/live_reload/socket", Phoenix.LiveReloader.Socket
+ plug Phoenix.LiveReloader
+ plug Phoenix.CodeReloader
+ end
+
+ plug Plug.Logger
+
+ plug Plug.Parsers,
+ parsers: [:urlencoded, :multipart, :json],
+ pass: ["*/*"],
+ json_decoder: Poison
+
+ plug Plug.MethodOverride
+ plug Plug.Head
+
+ # The session will be stored in the cookie and signed,
+ # this means its contents can be read but not tampered with.
+ # Set :encryption_salt if you would also like to encrypt it.
+ plug Plug.Session,
+ store: :cookie,
+ key: "_shardweb_key",
+ signing_salt: "BkoHycu8"
+
+
+ plug PhoenixGon.Pipeline
+
+ plug ShardWeb.Router
+
+ @doc """
+ Callback invoked for dynamically configuring the endpoint.
+
+ It receives the endpoint configuration and checks if
+ configuration should be loaded from the system environment.
+ """
+ def init(_key, config) do
+ if config[:load_from_system_env] do
+ port = System.get_env("PORT") || raise "expected the PORT environment variable to be set"
+ {:ok, Keyword.put(config, :http, [:inet6, port: port])}
+ else
+ {:ok, config}
+ end
+ end
+end