V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
mec
V2EX  ›  分享创造

写了一个声明式的 flask 代理插件,欢迎拍砖交流

  •  
  •   mec · 2018-06-25 14:16:55 +08:00 · 1751 次点击
    这是一个创建于 2341 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前支持声明式的路由,同时还可以对原请求做二次处理,比较适合用来做微服务的 API 网关代理,欢迎 PR 和 issue https://github.com/mecforlove/flask-proxy

    简单的 demo

    from flask import Flask
    from flask_proxy import Proxy, Upstream
    
    
    class Httpbin(Upstream):
        prefix = '/httpbin'
        host = 'httpbin.org'
        routes = [{
            'url': '/get',
            'methods': ['GET'],
        }, {
            'url': '/post',
            'methods': ['POST'],
        }]
    
    app = Flask(__name__)
    proxy = Proxy(app)
    proxy.add_upstream(Httpbin)
    app.run()
    
    3 条回复    2018-06-26 13:02:38 +08:00
    ebingtel
        1
    ebingtel  
       2018-06-26 09:22:28 +08:00
    使用同一个端口,通过 prefix 来区分项目,倒是不错……不过,改了原生的 response,看起来有些奇怪
    mec
        2
    mec  
    OP
       2018-06-26 10:27:18 +08:00
    @ebingtel #1 没有改原生的 response,只是转发了一层
    ebingtel
        3
    ebingtel  
       2018-06-26 13:02:38 +08:00
    @mec sorry 理解错了,原来原生的返回 就是那样……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1178 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:21 · PVG 02:21 · LAX 10:21 · JFK 13:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.