summaryrefslogtreecommitdiff
path: root/src/flagd-ui/lib/flagd_ui_web/endpoint.ex
diff options
context:
space:
mode:
authorSaumit <justsaumit@protonmail.com>2025-09-27 02:14:26 +0530
committerSaumit <justsaumit@protonmail.com>2025-09-27 02:14:26 +0530
commit82e03978b89938219958032efb1448cc76baa181 (patch)
tree626f3e54d52ecd49be0ed3bee30abacc0453d081 /src/flagd-ui/lib/flagd_ui_web/endpoint.ex
Initial snapshot - OpenTelemetry demo 2.1.3 -f
Diffstat (limited to 'src/flagd-ui/lib/flagd_ui_web/endpoint.ex')
-rw-r--r--src/flagd-ui/lib/flagd_ui_web/endpoint.ex50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/flagd-ui/lib/flagd_ui_web/endpoint.ex b/src/flagd-ui/lib/flagd_ui_web/endpoint.ex
new file mode 100644
index 0000000..5f4d633
--- /dev/null
+++ b/src/flagd-ui/lib/flagd_ui_web/endpoint.ex
@@ -0,0 +1,50 @@
+# Copyright The OpenTelemetry Authors
+# SPDX-License-Identifier: Apache-2.0
+
+defmodule FlagdUiWeb.Endpoint do
+ use Phoenix.Endpoint, otp_app: :flagd_ui
+
+ # 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.
+ @session_options [
+ store: :cookie,
+ key: "_flagd_ui_key",
+ signing_salt: "ZIW3lwrD",
+ same_site: "Lax"
+ ]
+
+ socket "/live", Phoenix.LiveView.Socket,
+ websocket: [connect_info: [session: @session_options]],
+ longpoll: [connect_info: [session: @session_options]]
+
+ # Serve at "/" the static files from "priv/static" directory.
+ #
+ # When code reloading is disabled (e.g., in production),
+ # the `gzip` option is enabled to serve compressed
+ # static files generated by running `phx.digest`.
+ plug Plug.Static,
+ at: "/",
+ from: :flagd_ui,
+ gzip: not code_reloading?,
+ only: FlagdUiWeb.static_paths()
+
+ plug Phoenix.LiveDashboard.RequestLogger,
+ param_key: "request_logger",
+ cookie_key: "request_logger"
+
+ plug Plug.RequestId
+ plug Plug.Telemetry, event_prefix: [:phoenix, :endpoint]
+
+ plug Plug.Parsers,
+ parsers: [:urlencoded, :multipart, :json],
+ pass: ["*/*"],
+ json_decoder: Phoenix.json_library()
+
+ plug Plug.MethodOverride
+ plug Plug.Head
+ plug Plug.Session, @session_options
+ plug FlagdUiWeb.Router
+
+ def get_root_path, do: config(:url) |> Enum.find(fn {k, _} -> k == :path end) |> elem(1)
+end