牛逼,自动将函数或者命令行工具转换成 Web 服务

470次阅读  |  发布于4年以前

大家好,我是你们的章鱼猫。

今天要给大家介绍一个牛逼的功能 webify,它能够直接将函数或者命令行工具转化为 Web 服务。比如我们将 jq 封装成一个 Web 服务如下:

webfiy 是一个非常基础的 CGI 服务,所有的请求都会路由到这个 CGI 脚本上。最初的设计目标是希望能够尽可能的做到零配置。webify 通过调用需要封装的命令行脚本,然后将请求的 body 传入标准输入 stdin。然后标准输出 stdout 像 HTTP 响应一样回传到 client 调用方。过程中如果封装的脚本返回了非 0 的结果,则 HTTP 请求会返回 500。

其实现在有不少的 serverless 的框架也是使用类似的机制来处理服务之间的交互。对于使用者来说只需要关注其自身的逻辑,其他的都交给框架和基础设施来处理。

整体使用上比较简单,我们来看一个 Python 的例子。

  1. 首先假设我们有一个路径查找的函数,如下:

2. 连接 stdin 和 stdout

3. 本地 shell 测试

4. 通过 webify 转化为 Web 服务

更多项目详情请查看如下链接。

开源项目地址:https://github.com/beefsack/webify

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8