Ring

2015-11-11  本文已影响48人  红尘赌客

简介

Ring是Clojure的HTTP服务端抽象,定义了一套简洁、统一的编程接口,从而提供极好的模块化和可复用能力。

概念

请参考Ring规范

Handler

Handler是一个函数,接受请求Map作为参数,输出响应Map。

Middleware

中间件用于在Handler之上增加功能。一般情况下,中间件是一个高阶函数,接受一个或多个Handler以及配置选项作为参数,输出一个拥有增强功能的新的Handler。

请求->中间件->Handler->响应->中间件

Adapter

适配器是一个函数,接受两个参数,一个Handler和一个选项Map。完成初始化后,适配器接收HTTP请求,解析为一个请求map,传入该map调用handler。然后使用handler输出的响应map构造HTTP响应,并发送回客户端。

Request Map / Response Map

请求map和响应map都是普通的clojure map,规定了一系列的key,是对HTTP请求和响应的抽象,具体见Ring规范

上一篇 下一篇

猜你喜欢

热点阅读