搜索

pdf文档 Falcon v3.0.0-b2 Documentation

1.15 MB 340 页 0 下载 113 浏览 0 评论 0 收藏
语言 格式 评分
英语
.pdf
3
摘要
文档详细介绍了Falcon框架的最新版本(v3.0.0-b2)的更新内容,包括对Python 3.8和3.9的支持,弃用Python 2.x和PyPy 2.x,新增了静态路由功能,改进了错误处理机制,优化了WSGI和ASGI接口的支持,以及提升了性能和测试框架的功能。
AI总结
### Falcon v3.0.0-b2 文档总结 #### 1. **发布信息** - **发布日期**: 2021年3月3日 - **版本**: Falcon v3.0.0-b2 - **文档结构**: 包含用户指南、部署指南、社区指南、框架参考等内容。 --- #### 2. **新功能与改进** - **新功能**: - **bounded_stream**: 新增 `Request.bounded_stream` 属性,用于替代 `Request.stream`,以解决某些 WSGI 服务器的阻塞问题。 - **uri_template**: 新增 `Request.uri_template` 属性,用于获取请求路径对应的路由模板。 - **Response.context**: 新增 `Response.context` 属性,与 `Request.context` 对齐。 - **JSON 解码**: 新增 `get_param_as_dict()` 方法,支持一步完成 JSON 查询参数的解码。 - **CSV 解析**: 支持禁用 CSV 样式的查询参数解析。 - **钩子支持**: 钩子(Hooks)现在支持传递参数。 - **Accept-Ranges 头**: 新增 `Response.accept_ranges` 属性,用于设置 `Accept-Ranges` 头。 - **新增错误类**: 新增 `HTTPUriTooLong` 和 `HTTPGone` 错误类。 - **默认错误处理**: 默认错误序列化器现在为所有 `HTTPError` 子类生成表示。 - **Cookie 支持**: 新增 `falcon.testing.Cookie` 类和 `falcon.testing.Result` 的 Cookie 属性,用于处理返回的 Cookie。 - **pytest 支持**: 测试框架新增 pytest 支持,允许用户选择 unittest 或 pytest 风格的测试。 - **性能优化**: - 使用 Cython 时,JSON 解析速度提升约 20%。 - 改进 WSGI/ASGI 辅助工具和解析器的性能。 - **平台支持**: - **新增支持**: Python 3.8 和 3.9 完全支持。 - **降级支持**: Python 3.6+ 仅用于新的 ASGI 接口,WSGI 在 Python 3.5+ 上仍支持。 - **弃用/移除**: - Python 3.5 支持已弃用,可能在下一个主要版本中移除。 - Python 3.4 不再支持。 - Python 2.x 和 PyPy2.7 支持已移除。 --- #### 3. **框架特点** - **高性能**: Falcon 设计用于支持大规模微服务和响应式应用后端,性能优于其他 Python 框架。 - **可靠性**: 严格遵循语义化版本控制,避免破坏性更改。代码经过严格测试,要求 100% 测试覆盖率。 - **可调试性**: 避免魔法行为,所有输入和输出均清晰可追溯。未处理的异常不会被封装或隐藏。 - **灵活性**: 开发者可自由定制和扩展框架功能,支持独立创新和社区扩展。 --- #### 4. **许可** - Falcon 采用 Apache 2.0 许可证,允许用户在商业应用中使用,无需开源代码。框架代码可免费使用相关专利。 --- #### 5. **已知问题与修复** - **固定问题**: - 修复了 WSGI 服务器未提供 `wsgi.file_wrapper` 时的资源释放问题。 - 修复了测试框架在 Jython 上的 Cookie 解析问题。 - 修复了 Cookie 解析中的空白处理问题。 - 修复了 OPTIONS 请求返回 204 状态码的问题,改为正确返回 200 状态码。 - 修复了 JSON 处理中的 Unicode 编码问题。 - 修复了测试框架中对带引号字符串的解析问题。 - 修复了 WSGI 环境中 `REMOTE_ADDR` 的默认值问题。 --- #### 6. **其他改进** - **文档**: 重新设计文档,使其更符合 [falconframework.org](https://falconframework.org) 的风格。FAQ 重新组织并扩展了内容。 - **测试框架**: 测试客户端 (`TestClient`) 支持默认头配置,`simulate_*()` 方法现在调用 `simulate_request()`,便于子类重写行为。 - **WebDAV 支持**: 新增对 WebDAV 方法(如 `UPDATE` 和 `REPORT`)的支持。 - **内容下载**: 新增 `Response.downloadable_as` 属性,用于设置 `Content-Disposition` 头。 --- #### 7. **如何使用 Falcon** - **安装**: 请参考文档中的安装指南。 - **快速上手**: 通过 WSGI 或 ASGI 快速开始使用 Falcon 创建 API。 - **路由与处理**: 通过 URI 模板和响应处理函数实现路由和请求处理。 --- #### 8. **总结** Falcon v3.0.0-b2 是一个功能强大、高效且灵活的 Python 框架,适合构建高性能的 API 和微服务。它通过改进性能、扩展功能和修复问题,进一步提升了开发体验和应用的可靠性。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 333 页请下载阅读 -
文档评分
请文明评论,理性发言.