Qeweney是一个功能丰富的RubyHTTP请求/响应API。
Qeweney提供了统一的API来处理服务器端的HTTP请求和响应。Qeweney定义了一个统一的适配器接口,允许处理传入的HTTP请求并通过任何协议或传输发送HTTP响应,无论是HTTP/1、HTTP/2还是Rack接口。Qeweney主要设计为与 Tipi一起使用,但也可以直接在Rack应用程序中使用,或驱动Rack应用程序。
特性:
适用于不同的Web服务器API,尤其是Tipi、DigitalFabric和Rack。Transport-agnostic受Roda启发的高性能路由API。用于从HTTP请求中提取数据的丰富API:表单解析、cookie、文件上传等。用于构建HTTP响应的丰富API:流响应、HTTP升级、静态文件服务、延迟和gzip编码、缓存等。适用于阻塞和非阻塞并发模型。允许在读取和解析请求正文之前处理请求。TheQeweneyAdapterInterfaceclassAdapterInterface#Readsachunkfromtherequestbody#@req[Qeweney::Request]requestforwhichthechunkistobereaddefget_body_chunk(req)end#Sendanon-streamingresponse#@req[Qeweney::Request]requestforwhichtheresponseissent#@body[String,nil]responsebody#@headers[Hash]responseheadersdefrespond(req,body,headers)end#Sendonlyheaders#@req[Qeweney::Request]requestforwhichtheresponseissent#@headers[Hash]responseheaders#@empty_response[boolean]whetherresponseisemptydefsend_headers(req,headers,empty_response:nil)end#Sendabodychunk(thisimplieschunkedtransferencoding)#@req[Qeweney::Request]requestforwhichtheresponseissent#@body[String,nil]chunk#@done[boolean]whetherresponseisfinisheddefsend_chunk(req,body,done:false)end#Finishesresponse#@req[Qeweney::Request]requestforwhichtheresponseissentdeffinish(req)endend
评论