62 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
defmodule Legendary.Content.Endpoint do
 | 
						|
  use Phoenix.Endpoint, otp_app: :content
 | 
						|
 | 
						|
  def init(_, config) do
 | 
						|
    if Application.get_env(:phoenix, :serve_endpoints) && !Keyword.get(config, :secret_key_base) do
 | 
						|
      raise "secret_key_base setting of Endpoint is not set"
 | 
						|
    end
 | 
						|
    {:ok, config}
 | 
						|
  end
 | 
						|
 | 
						|
  # 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: "_content_key",
 | 
						|
    signing_salt: "wfYQp84C"
 | 
						|
  ]
 | 
						|
 | 
						|
  socket "/socket", Legendary.Content.UserSocket,
 | 
						|
    websocket: true,
 | 
						|
    longpoll: false
 | 
						|
 | 
						|
  socket "/live", Phoenix.LiveView.Socket, websocket: [connect_info: [session: @session_options]]
 | 
						|
 | 
						|
  # Serve at "/" the static files from "priv/static" directory.
 | 
						|
  #
 | 
						|
  # You should set gzip to true if you are running phx.digest
 | 
						|
  # when deploying your static files in production.
 | 
						|
  plug Plug.Static,
 | 
						|
    at: "/",
 | 
						|
    from: :content,
 | 
						|
    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
 | 
						|
    plug Phoenix.Ecto.CheckRepoStatus, otp_app: :content
 | 
						|
  end
 | 
						|
 | 
						|
  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 Pow.Plug.Session, otp_app: :core
 | 
						|
  plug Legendary.Content.Router
 | 
						|
end
 |