在Phoenix控制器操作后如何获得conn结构

问题描述 投票:0回答:1

我想在项目的所有控制器动作之后向我的Elasticsearch发送一些conn信息,例如:控制器动作响应,请求参数和端点。

如果在解决操作后需要使用控制器返回的conn结构,该怎么办?

elixir phoenix-framework plug
1个回答
0
投票

我在应用程序中创建了插件:

defmodule MyAppWeb.Plugs.RequestLogger do
  @moduledoc false

  alias Plug.Conn

  def init(opts), do: opts

  def call(conn, _opts) do
    IO.puts("Getting conn after all controller actions here " <> Integer.to_string(conn.status))
    conn
  end
end

并在“ MyAppWeb.Router”之后的“ MyAppWeb.Endpoint”中进行设置:

defmodule MyAppWeb.Endpoint do
  # ...
  plug MyAppWeb.Router
  plug MyAppWeb.Plugs.RequestLogger
end
© www.soinside.com 2019 - 2024. All rights reserved.