#wasi #http-request #builder #url #web #header #line

wasi-net

用于在WASI操作系统上发起Web请求的接口

5个版本 (3个破坏性版本)

0.4.0 2021年11月19日
0.3.0 2021年11月13日
0.2.0 2021年11月11日
0.1.1 2021年11月11日
0.1.0 2021年11月9日

#1497 in WebAssembly

MIT/Apache

66KB
1.5K SLoC

WASI网络接口

此库允许编译为WASI的应用程序访问支持此接口的HTTP和HTTPS查询。

使用此库很简单,只需链接到它并使用构建器来构造API请求。

在服务器端必须实现以下内容

  1. 在/dev/web下创建一个虚拟文件
  2. 监听文件写入,以\n结束
  3. 接收到的第一行是连接到的URL
  4. 第二行是使用的HTTP方法(例如GET,PUT等)
  5. 第三行是编码的头部集合(Vec<(String, String)>的base64编码的JSON表示形式)
  6. 最后一行是要设置的数据(零字节表示没有数据)
  7. 然后发起HTTP请求,并允许文件句柄读取数据

缺失的功能

虽然可以添加请求头部,但还不能读取响应头部,因为使用web-sys遍历它们的能力还没有在上游实现

测试

您可以通过将其上传到wapm.io来测试您的WASI程序,然后转到Tokera Shell

https://sh.tokera.com

依赖关系

~3–14MB
~199K SLoC