插件连接完成后会发生什么变化?

时间:2017-05-21 19:32:30

标签: elixir plug

我目前正在调查Phoenix,我想知道插件连接完成插件管道后会发生什么。

conn
|> endpoint
|> router
|> controller
|> view

文档说,render/3函数将在视图中调用相应的模板函数,并使用状态代码200响应客户端。但是在此之后连接会发生什么?是否有任何较高的呼叫者(例如牛仔适配器)使用的回报,或者管道是否只是以未使用的未结回报结束?

1 个答案:

答案 0 :(得分:1)

查看source code for Plug.Conn.send_resp/1 at the time of writing,您可以看到连接首先通过适配器发送,但随后会返回。这是因为可以有其他插件可以与{{1}}建立连接,并使用它及其包含的信息执行任意操作。最终返回值(请参阅here)最终由适配器使用。