架构
本页描述了PostgREST的体系结构。
鸟瞰
您可以单击这些组件以导航至其各自的文档。
代码图
这一部分简要介绍了各种重要模块。
主要
该计划的出发点是 Main.hs .
CLI
App
App.hs 然后负责组成不同的模块。
奥思
接口请求
ApiRequest.hs 负责解析URL查询字符串(遵循PostgREST语法)、请求头和请求正文。
如果请求无效,则可能会在此级别拒绝该请求。例如,向PostgREST提供未知的媒体类型或使用未知的HTTP方法。
平面图
使用模式缓存, Plan.hs 生成内部AST,填写带外SQL详细信息(就像 ON CONFLICT (pk)
条款)完成用户请求所需。
如果请求无效,则可能会在此级别拒绝该请求。例如,在不存在的资源上进行资源嵌入时。
查询
Query.hs 生成满足用户请求所需的(参数化的和准备的)SQL查询。
只有在此阶段才可以使用来自池的连接。
架构缓存
SchemaCache.hs 掌管着 架构缓存 。
配置
管理员
HTTP
HTTP服务器由 Warp .
收听者
Listener.hs 负责该 收听者 .