异步Fastcgi处理程序库
该板条箱为Tokio实现了FastCGI处理程序。这是对安全锈的FastCGI协议的完整重新实现,并支持所有三个FastCGI角色:响应者,授权者和过滤器。 Role枚举记录了不同的角色及其输入和输出参数。
如果您只想使用此库,请查看示例,打开文档并通过将以下内容添加到Cargo.toml的[dependencies]部分:
tokio-fastcgi = \" 1 \"
操作原则
Tokio-fastcgi库处理服务器发送的FASTCGI请求。接受连接并产卵以处理请求的新任务是通过Tokio完成的。在处理程序任务中, Requests::from_split_socket被调用以创建异步请求流。呼叫Requests::next().await此流的等待一旦从网络服务器收到新的Request实例。
返回的Request实例具有一种process方法,该方法接受将处理请求的异步回调函数或闭合。当前请求将作为参数传递给回调,可用于检索Web服务器发送的输入流并写入输出流。如果处理请求失败,则回调将返回结果或错误。
当连接的Requests实例返回更多请求时,重复这一点。如果不再返回请求,则流将删除,并关闭与Web服务器的连接。
该库处理用户的连接重复使用和中止请求。有关更多详细信息,请参见Requests::next 。
例子
图书馆包含两个示例:一个裸露的骨头和一个小小的REST API。看看:)
ChangElog
-
版本1.0.0
初始版本 -
版本1.1.0
添加方法以枚举请求的参数(params_iter和str_params_iter)。 -
版本1.1.1
更新依赖版本。使依赖性对once_cell限制。 -
版本1.2.0
修复错误#4:在重负载下,FastCGI响应未正确提供。这使得FastCGI协议失败,并且连接随着各种错误消息而被删除。此版本解决了此问题。tokio-fastcgi库现在即使在沉重的负载下也是稳定的。
