作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些插头,每次都会调用。我想创建一个插件,为我调用所有这些插件。我该怎么做?
这是我目前尝试做的:
defmodule MyApp.SpecialPlug do
import Plug.Conn
def init(default), do: default
def call(conn, default) do
plug SimplePlug1
plug SimplePlug2, args: :something
end
end
CompileError
,说:
undefined function plug
最佳答案
您可以简单地使用 Plug.Builder
为了这:
defmodule MyApp.SpecialPlug do
use Plug.Builder
plug SimplePlug1
plug SimplePlug2, args: :something
end
init
和
call
自动将依次通过
conn
至
SimplePlug1
然后
SimplePlug2
.
defmodule MyApp.SpecialPlug do
def init({opts1, opts2}) do
{SimplePlug1.init(opts1), SimplePlug2.init(opts2)}
end
def call(conn, {opts1, opts2}) do
case SimplePlug1.call(conn, opts1) do
%Plug.Conn{halted: true} = conn -> conn
conn -> SimplePlug2.call(conn, opts2)
end
end
end
halted: true
的检查。如上所述(除非您出于某种原因想忽略暂停)。
Plug.Builder
自动为你做同样的事情
plug SimplePlug1
plug SimplePlug2, args: :something
plug MyApp.SpecialPlug, {[], [args: :something]}
关于elixir - 从插头内调用插头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39700000/
根据文档,Plug.Conn.register_before_send注册在发送请求之前调用的回调。以下代码仅打印“设置”消息而不打印“清理”。 defmodule MyRouter do use
我在玩 plug router并尝试在我的路由器中读取一个简单的 post 请求的正文: 表格 我的路由器 post("/create_item") do {:ok, dat
我对 Java 非常陌生,是通过创建 Minecraft 插件才接触到它的。我目前正在使用 Spigot,并希望通过另一个类访问变量。在这个插件中,我希望玩家能够创建一个具有一定能力的英雄。我使用的两
我是一名优秀的程序员,十分优秀!