架构

本页描述了PostgREST的体系结构。

鸟瞰

您可以单击这些组件以导航至其各自的文档。

代码图

这一部分简要介绍了各种重要模块。

主要

该计划的出发点是 Main.hs .

CLI

主然后调用 CLI.hs ,负责 CLI .

App

App.hs 然后负责组成不同的模块。

奥思

Auth.hs 掌管着 身份验证

接口请求

ApiRequest.hs 负责解析URL查询字符串(遵循PostgREST语法)、请求头和请求正文。

如果请求无效,则可能会在此级别拒绝该请求。例如,向PostgREST提供未知的媒体类型或使用未知的HTTP方法。

平面图

使用模式缓存, Plan.hs 生成内部AST,填写带外SQL详细信息(就像 ON CONFLICT (pk) 条款)完成用户请求所需。

如果请求无效,则可能会在此级别拒绝该请求。例如,在不存在的资源上进行资源嵌入时。

查询

Query.hs 生成满足用户请求所需的(参数化的和准备的)SQL查询。

只有在此阶段才可以使用来自池的连接。

架构缓存

SchemaCache.hs 掌管着 架构缓存

配置

Config.hs 掌管着 配置

管理员

Admin.hs 是负责 管理服务器

HTTP

HTTP服务器由 Warp .

收听者

Listener.hs 负责该 收听者 .