#proxy #poem #poem-web #async #http-proxy #web-framework #web

poem-reverse-proxy

适用于Poem Web框架的简单代理端点

1 个不稳定版本

0.0.0 2024年4月13日

#14 in #poem-web

MIT 协议

23KB
191

Poem Proxy

该软件包为 poem web框架 提供一个端点,用于与其他服务器传输数据

Number of Stars Number of Issues License License License Published Version

开发路线图

当此项目处于开发中时,我将遵循此开发路线图。最终,poem-proxy 将成为一个通用的服务,适用于您的下一个Web应用程序。它还没有完全实现 - 但它正在路上!

  • 创建一个代理,可以将HTTP请求转发到另一个服务器并返回其响应
    • 获取请求
    • POST请求
    • PUT请求
    • PATCH
    • DELETE
    • 确保捕捉到所有必要的信息
  • 为代理端点添加WebSocket支持
    • 确保捕捉到所有必要的信息
  • 允许更精细地配置代理端点
    • Http/Https
    • Ws/Wss
    • 转发到不同的目标服务器
  • 启用模板引擎,允许代理填充代理服务器可能不知道的信息
    • 请求模板
      • 头部
      • 正文
      • 其他部分
    • 响应模板
      • 头部
      • 正文
      • 其他部分
    • WebSocket通信模板
  • 确保代理通过非提倡的代码审查得到正确实现
  • 编写全面的测试以确保功能不会丢失
  • 编写全面的文档,清楚地展示如何使用代理的示例
  • 设置CI以确保代码库即使在开发完成后仍保持相关性

如您所见,此代理服务尚未完全功能化。勾选的项目已测试并能在一定程度上工作。

关于

目的

Poem-proxy 是 Parrhesia 的子项目。它旨在简化前端开发,无需将互联网流量路由到多个后端服务器。相反,所有连接都可以发送到Rust后端,该后端将处理并转发任何必要的请求。

帕拉西亚将正式支持Sveltekit作为首选的前端框架,并且即使是今天,这个代理端点也能处理其所有基本功能。甚至包括热模块重载,这对开发体验来说是一个巨大的提升。

文档

文档也在制作中,可以在这里找到。只是记住,它还在进行中。《帕拉西亚》尚未完成,但您可以查看该存储库,了解当前如何使用此端点。

贡献

由于这个项目规模较小,目前并不需要代码贡献。话虽如此,我需要知道如何处理代理的人来审查我的工作,确保它是正确的,并遵循今天的代理标准。此外,如果您发现任何错误或有任何关于如何改进此代理的想法,请创建问题。

许可

此代码在MIT许可下发布。如果您做出改进,请考虑将其贡献回主分支。您完全自由地使用此代码和此库用于任何目的。您贡献的内容将按MIT许可发布,不附加任何额外条款或条件。

依赖关系

~16–28MB
~460K SLoC