diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a8e888..677f120 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [0.0.10](https://github.com/serverless-components/tencent-flask/compare/v0.0.9...v0.0.10) (2021-02-02) + + +### Bug Fixes + +* multi cookie bug ([97043cb](https://github.com/serverless-components/tencent-flask/commit/97043cb2d0a1d66d448f216309aac92289cc2e7d)) + ## [0.0.9](https://github.com/serverless-components/tencent-flask/compare/v0.0.8...v0.0.9) (2020-12-15) diff --git a/README.md b/README.md index 17faaa5..463bef4 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ app = Flask(__name__) @app.route("/") def index(): - return "Hello Flash" + return "Hello Flask" @app.route("/users") def users(): diff --git a/example/README.md b/example/README.md new file mode 100644 index 0000000..b78aea5 --- /dev/null +++ b/example/README.md @@ -0,0 +1,9 @@ +# Flask example + +本地启动服务: + +```bash +$ ENV=local python app.py +``` + +可以发现 `app.py` 中通过判断环境变量 `ENV` 为 `local` 才启动服务,云函数运行时就不会启动服务。 diff --git a/example/app.py b/example/app.py index cd62520..b932647 100644 --- a/example/app.py +++ b/example/app.py @@ -1,3 +1,4 @@ +import os from flask import Flask, jsonify app = Flask(__name__) @@ -16,3 +17,7 @@ def users(): @app.route("/users/") def user(id): return jsonify(data={'name': 'test1'}) + +isLocal = os.getenv('ENV') == 'local' +if isLocal: + app.run(host='0.0.0.0',port=3000,debug=True) diff --git a/serverless.component.yml b/serverless.component.yml index c2b404f..8a37f6c 100644 --- a/serverless.component.yml +++ b/serverless.component.yml @@ -1,5 +1,5 @@ name: flask -version: 0.0.9 +version: 0.0.10 author: 'Tencent Cloud, Inc' org: 'Tencent Cloud, Inc' description: Deploy a serverless Flask application onto Tencent SCF and API Gateway. diff --git a/src/_shims/severless_wsgi.py b/src/_shims/severless_wsgi.py index 2de91a3..71e0a94 100644 --- a/src/_shims/severless_wsgi.py +++ b/src/_shims/severless_wsgi.py @@ -55,11 +55,13 @@ def split_headers(headers): """ new_headers = {} - for key in headers.keys(): + for key in set(headers.keys()): values = headers.get_all(key) - if len(values) > 1: + if len(values) > 1 and key.lower() != 'set-cookie': for value, casing in zip(values, all_casings(key)): new_headers[casing] = value + elif key.lower() == 'set-cookie': + new_headers[key] = values elif len(values) == 1: new_headers[key] = values[0]