epub文档 Falcon v2.0.0 Documentation

299.57 KB 265 页 0 评论
语言 格式 评分
英语
.epub
3
摘要
Falcon 2.0.0 发布了多项重要更新,包括breaking changes、new features和平台支持的变化。主要更新包括支持CPython 3.7,结束对CPython 2.7、PyPy2.7等的支持,改进了响应处理、请求上下文类型、Cookie和ETag处理。性能优化了热代码路径,提升了测试框架的功能,并增强了文档的准确性和清晰度。此外,移除了 deprecated 的变量、方法和_backward-compatibility shims。
AI总结
以下是对《Falcon v2.0.0 Documentation》的总结,主要涵盖了关键的功能更新、改进和修复内容: ### Falcon v2.0.0 更新概述 Falcon 2.0 是一个主要版本,包含了多项重要的改进和破坏性变更。它简化了路由分配、优化了性能,并增强了文档的清晰度和准确性。以下是核心内容的总结: --- #### **1. 重大变更 (Breaking Changes)** - **平台支持调整**: - 更好地支持 CPython 3.7。 - CPython 2.7 和 PyPy 2.7 将在 Falcon 3.0 中移除。 - CPython 3.4支持已弃用,并将在 Falcon 3.0 中移除。 - 停止支持 CPython 2.6、3.3 和 Jython 2.7。 - **上下文类型默认值更改**: - 请求上下文 (`req.context`) 和响应上下文 (`resp.context`) 的默认类型从字典变为简单对象。 - Example: ```python # 之前 req.context['role'] = 'trial' # Falcon 2.0 req.context.role = 'trial' ``` - 若需保留字典接口,可通过显式设置 `context_type` 为 `dict`。 - **请求选项默认值更改**: - 基于社区反馈,调整了一些请求选项的默认值。 --- #### **2. 新增功能与改进** - **性能优化**: - 优化了热路径(hot code paths),在某些情况下性能比 1.4 版本有显著提升。 - 请求 cookie 解析速度提升了一个数量级。 - **功能增强**: - 添加了新的 `headers` 和 `complete` 属性到 `Response` 类。 - 向 `Request` 类添加了 `get_cookie_values()` 方法,支持获取所有 cookie 值。 - 支持通过 `append_header()` 添加原始 `Set-Cookie` 头。 - 路由改进:允许通过后缀区分响应器(responders),以便同一资源类映射多个路由。 - `JSONHandler` 现在可配置使用任意 `dumps()` 和 `loads()` 函数。 - 添加了对 `falcon.media.validators.jsonschema` 的请求和响应验证支持。 - **文档改进**: - 文档内容更清晰,提供了更好的使用建议和推荐实践。 - 重组并扩展了 FAQ 部分。 - 更新了文档样式以匹配 [falconframework.org](https://falconframework.org)。 --- #### **3. 错误修复** - 修复了转发头(Forwarded headers)解析中的漏洞,尤其是对带有逗号的引号字符串的处理。 - 修复了 Python 2.x 下序列化包含 Unicode 码点的字符串时可能发生的错误。 - 修复了通过 `super()` 调用资源类响应器时无法正确传递 URI 模板参数的 bug。 - 修复了 Python 3.6 中由 `\s` 引发的警告问题。 --- #### **4. 安装与文档** - Falcon 是一个轻量级的 WSGI 库,专为构建高性能 Web APIs 和应用后端设计。 - 示例: ```python class QuoteResource: def on_get(self, req, resp): quote = {'quote': "I've always been more interested in the future than in the past.", 'author': 'Grace Hopper'} resp.media = quote api = falcon.API() api.add_route('/quote', QuoteResource()) ``` - 提供了丰富的文档,包括用户指南、部署指南、社区指南和 changelog。 --- #### **5. 社区与贡献** - Falcon 得到了多家组织的采用,包括 Rackspace、OpenStack、Opera Software 等。 - 社区维护的插件和工具可在 [Add-on Catalog](https://github.com/falconry/falcon/wiki/Add-on-Catalog) 中查找。 - 鼓励用户通过 [Who’s Using Falcon?](https://github.com/falconry/falcon/wiki/Who's-using-Falcon%3F) 分享使用 Falcon 的经验。 --- #### **6. 许可证** - Falcon 采用 Apache 2.0 许可证,允许在商业应用中使用,无需开源自有代码。 -قع激励用户贡献代码以改进框架。 --- ### 总结 Falcon 2.0.0 版本带来了显著的性能改进、功能增强和文档优化。框架更简洁、更高效,适合构建高性能 HTTP APIs。升级时需特别注意上下文类型和默认值的更改,以及对旧版本的向后兼容性调整。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 258 页请下载阅读 -
文档评分
请文明评论,理性发言.