作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据文档,Plug.Conn.register_before_send
注册在发送请求之前调用的回调。以下代码仅打印“设置”消息而不打印“清理”。
defmodule MyRouter do
use Plug.Router
# Starts the server
def start do
Plug.Adapters.Cowboy.http MyRouter, []
end
plug :my_handle # custom plug
plug :match
plug :dispatch
def my_handle(conn, _opts) do
Plug.Conn.register_before_send(conn, fn conn ->
# Doesn't show up in console.
IO.puts "== cleaning up =="
conn
end)
# This is printed to the console.
IO.puts "== setting up =="
conn
end
get "/" do
send_resp(conn, 200, "world")
end
match _ do
send_resp(conn, 404, "oops")
end
end
最佳答案
你是对的,但是你没有使用注册了 before_send 的 conn(不要忘记变量在 Elixir 中是不可变的。)
改变:
Plug.Conn.register_before_send(conn, fn conn ->
conn = Plug.Conn.register_before_send(conn, fn conn ->
register_before_send
返回返回:
def my_handle(conn, _opts) do
IO.puts "== setting up =="
Plug.Conn.register_before_send(conn, fn conn ->
# Doesn't show up in console.
IO.puts "== cleaning up =="
conn
end)
end
关于 Elixir 插头 : register_before_send,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34722407/
根据文档,Plug.Conn.register_before_send注册在发送请求之前调用的回调。以下代码仅打印“设置”消息而不打印“清理”。 defmodule MyRouter do use
我是一名优秀的程序员,十分优秀!