gpt4 book ai didi

python - Falcon 过早关闭连接

转载 作者:行者123 更新时间:2023-12-01 04:02:01 25 4
gpt4 key购买 nike

Falcon 框架永远不会返回整个响应。我从 curl (或任何其他 HTTP 工具)得到的只是:

$ curl -q -D - -o - "localhost:8000/post_account?email=someone@example.com

HTTP/1.1 200 OK
Server: gunicorn/19.4.5
Date: Thu, 31 Mar 2016 11:36:49 GMT
Connection: close
content-length: 3
content-type: application/json; charset=utf-8

curl: (18) transfer closed with 3 bytes remaining to read

index.py

这是定义路由的引导脚本。

import falcon
from routes import route_account


app = falcon.API()
post_account = route_account.RoutePostAccount()

# Routes
app.add_route('/post_account', post_account)

route_account.py

这是路由处理程序类。我检查了一下,从 _result = account.create_account(**_payload) 收到的结果很好。

from falcon.util import uri
from objects.account_base import AccountBase

account = AccountBase()


class RoutePostAccount(object):

@staticmethod
def on_get(req, resp):

# Convert query parameters string to dict
_payload = uri.parse_query_string(req.query_string)
# Create account
_result = account.create_account(**_payload)
# Send response
resp.status = _result.get('status', {}).get('code')
resp.body = _result

网络服务器

$ gunicorn index:app

有人能看到我看不到的东西吗?感谢您的帮助。

最佳答案

使用gunicorn index:app --log-level DEBUG来启动你的gunicorn worker 。然后,再次尝试curl命令并查看gunicorn控制台:肯定有错误。我认为 account.create_account(**_payload) 返回的内容无效。示例:如果您在 python 3 上运行它,那么它必须返回一个字典,但 falcon 需要一个字节字符串,因此它会失败并关闭连接。您必须将 account.create_account(**_payload) 的输出序列化(到 json、xml,无论您喜欢什么)。这样:

route_account.py:

import json

from falcon.util import uri
from objects.account_base import AccountBase

account = AccountBase()


class RoutePostAccount(object):

@staticmethod
def on_get(req, resp):

# Convert query parameters string to dict
_payload = uri.parse_query_string(req.query_string)
# Create account
_result = account.create_account(**_payload)
# Send response
resp.status = _result.get('status', {}).get('code')
resp.body = json.dumps(_result)

关于python - Falcon 过早关闭连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36332591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com