diff options
Diffstat (limited to 'src/flagd-ui/lib/flagd_ui_web/endpoint.ex')
| -rw-r--r-- | src/flagd-ui/lib/flagd_ui_web/endpoint.ex | 50 |
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 |
