Plug 概览
2025-04-25
2025-05-01
进度
15%
Elixir
Plug
代码以 Plug v1.7.10 (博客引擎的版本)为例。
网络请求的抽象化
TODO函数式编程范式下,应用可以被理解为对某一事物的操作组成的集合- 以网络应用为例,…
- 再介绍和 OOP 视角的差别(以 Sanic 为对比)
TODO作为 Erlang VM 生态众多服务器的抽象接口(原文是「连接适配器」)
核心
用一句话概括整个 Plug 应用,就是允许开发者可以根据编写/组织对连接进行一系列操作的 plugs 编写其自己的网络应用。
%Plog.Conn{}
一个典型的基于 FP 开发的应用,基本上可以这么看待:
result = data |> func1() |> func2 |> ...
主要依照文档的划分依据进行讲解。
请求相关
响应相关
响应请求过程的生命周期要用到的
上下文管理(Session 与 Assigns)
获取相关
%Plug.Conn.Unfetched{}
连接相关
可以理解为 Plug 独到的
Plug
TODOPlug 存在函数以及模块两种形式- 函数
- 模块(需要实现两个回调)
TODOPlug.run/3TODOPlug.forward/4
Plug.Builder
Plug.Router
——亟待更新——