用于python的ddd nginx框架
ddd-nginx的Python项目详细描述
ddd nginx框架
安装
源代码:
python setup.py install
来自PYPI:
pip install ddd-base
使用量
from ddd_nginx.nginx import Nginx from ddd_nginx.map import Map, MapKeyParis, MapDefinition from ddd_nginx.server import Server from ddd_nginx.location import Location, ReverseProxyStrategy from ddd_nginx.upstream import Upstream nginx = Nginx(host="oneapi.cc") nginx.namespace = "api" a_map = Map(MapDefinition(key="$http_apikey", value="$api_client_name")) a_map.append(MapKeyParis("7B5zIqmRGXmrJTFmKa99vcit", "client_one")) a_map.append(MapKeyParis("QzVV6y1EmQFbbxOfRCwyJs35", "client_two")) a_map.append(MapKeyParis("mGcjH8Fv6U9y3BVF9H3Ypb9T", "client_six")) a_upstream = Upstream(name="warehouse_inventory") a_upstream.append("10.0.0.1:80") a_upstream.append("10.0.0.2:80") a_upstream.append("10.0.0.3:80") b_upstream = Upstream(name="warehouse_pricing") b_upstream.append("10.0.0.1:80") b_upstream.append("10.0.0.2:80") b_upstream.append("10.0.0.3:80") a_location = Location( name="/api/warehouse/inventory", proxy=ReverseProxyStrategy('rewrite', '^ /_warehouse last') ) a_location.set_var("$upstream", "warehouse_inventory") b_location = Location( name="/api/warehouse/pricing", proxy=ReverseProxyStrategy('rewrite', '^ /_warehouse last') ) b_location.set_var("$upstream", "warehouse_pricing") c_location = Location( name="= /_warehouse", proxy=ReverseProxyStrategy('proxy_pass', 'http://$upstream$request_uri'), scope="internal" ) c_location.set_var("$api_name", "Warehouse") a_server = Server(name=nginx.namespace) a_server.set_var("$api_name", "-") nginx.append(a_map) nginx.append(a_upstream) nginx.append(b_upstream) nginx.append(a_location) nginx.append(b_location) nginx.append(c_location) nginx.append(a_server) root_dir = "./dumps_dir" nginx.dumps(root_dir)
变更日志
0.0.8
- 包括模板文件
0.0.7
- 包括Jinja2模板
0.0.6
- 添加JSON错误页配置文件
0.0.5
- 增加覆盖范围
0.0.4
- 清除相关性
0.0.3
- 将nginx转储到文件
0.0.2
- 使用模板渲染conf
0.0.1
- 首次公开发行