| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
Falcon 3.1.1版本文档详细介绍了该框架的最新功能和改进,包括对Python 3.8和3.9的全面支持,弃用部分旧功能,新增中间件功能,改进错误处理机制,支持WSGI和ASGI接口,以及对测试和性能的优化。 | ||
| AI总结 | ||
# Falcon v3.1.1 文档总结
## 1. 版本信息
- **版本**: Falcon v3.1.1
- **发布日期**: 2022年11月18日
- **维护团队**: Kurt Griffiths 等人
## 2. 主要功能与改进
### 2.1 新增功能
- **ASGI 支持**: 支持新的 ASGI 接口,同时保留对 WSGI 的兼容性。
- **错误处理增强**: 新增多种错误处理机制,包括 XML 格式的错误响应。
- **媒体类型支持**: 支持更多媒体类型,如 `application/x-www-form-urlencoded`。
- **中间件功能**: 引入新的中间件功能,替代之前的全局钩子。
- **上下文共享**: 新增 `req.context` 属性,用于在中间件、钩子和响应者之间共享上下文信息。
- **自定义错误序列化器**: 新增 `set_error_serializer` 方法,支持自定义错误序列化。
- **测试功能改进**: 测试基类 `testing.TestBase` 支持自动解码响应体。
### 2.2 兼容性与平台支持
- **Python 版本**:
- 完全支持 Python 3.8 和 3.9。
- Python 3.6+ 仅需支持新的 ASGI 接口。
- Python 3.5 支持已弃用,可能在下一个主要版本中移除。
- 不再支持 Python 3.4、CPython 2.7 和 PyPy2.7。
## 3. 破坏性更改
- **弃用类**:
- `OptionalRepresentation` 和 `has_representation` 属性已弃用。
- `NoRepresentation` 已弃用,所有 `falcon.HTTPError` 子类均支持媒体类型表示。
- **测试环境更改**:
- `falcon.testing.create_environ()` 的 `protocol` 参数重命名为 `http_version`。
- `app` 参数重命名为 `root_path`。
- **其他更改**:
- `falcon.get_http_status()` 已弃用。
- 错误处理逻辑调整,若错误处理程序抛出非 `falcon.HTTPStatus` 或 `falcon.HTTPError` 异常,后续中间件将不会执行。
## 4. 其他改进与修复
- **性能优化**: 多处性能优化,提升框架运行效率。
- **新错误类**: 新增多种 HTTP 错误类,如 `HTTPRequestEntityTooLarge`、`HTTPInvalidParam` 等。
- **查询字符串解析**: 支持更广泛的字符集,修复了 forwarded 头部解析问题。
- **文档改进**: 文档重新设计,内容更易读。
## 5. 贡献者
- 本次版本更新有 38 名贡献者参与,包括 GriffGeorge、hynek、kgriffs 等。
## 6. 总结
Falcon v3.1.1 是一次重要的更新,新增了对 ASGI 的支持,优化了错误处理和测试功能,并提升了对现代 Python 版本的兼容性。尽管尽量减少了破坏性更改,但用户仍需注意已弃用的功能和参数调整。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
371 页请下载阅读 -
文档评分














Falcon v3.1.1-a Documentation
Falcon v1.0.0 Documentation