跳转到主要内容

Morepath的CORS支持

项目描述

more.cors: 为Morepath提供CORS支持

此包为Morepath添加了CORS支持。

快速入门

安装 more.cors

$ pip install -U more.cors

从 CORSApp 扩展您的 App 类

from more.cors import CORSApp


class App(CORSApp):
    pass

这将为您Morepath应用添加基本的CORS支持。

设置

more.cors在‘cors’部分提供设置。以下为默认值

@App.setting_section(section='cors')
def cors_settings():
    return {
        'allowed_verbs': ['GET', 'PUT', 'POST', 'PATCH', 'DELETE', 'OPTIONS'],
        'allowed_origin': '*',
        'expose_headers': ['Content-Type', 'Authorization'],
        'allowed_headers': ['Content-Type', 'Authorization'],
        'max_age': 60,
        'allow_credentials': False
    }

以下设置可用

allowed_verbs

允许的HTTP请求方法列表。

allowed_origin

可以访问资源的URI。对于无凭据的请求,可以使用“*”作为通配符,允许任何来源访问资源。

expose_headers

可以作为响应部分公开的HTTP头列表。

allowed_headers

实际请求期间可以使用HTTP头列表。

max_age

预请求请求结果可以缓存的最大秒数。

allow_credentials

布尔值,指示是否可以使用凭据进行实际请求。凭据是cookies、授权头或TLS客户端证书。

为单个视图指定CORS设置

more.cors公开了App.cors()类方法。这可以用于为单个视图指定设置

App.cors(
    model=Root,
    view_name='view2',
    allowed_headers=['Cache-Control'],
    expose_headers=['Cookie'],
    allowed_origin='http://foo.com',
    allow_credentials=True,
    max_age=10
)
model

指定相应的视图模型。

view_name

当使用命名视图时需要。

allowed_headers, expose_headers, allowed_origin, allow_credentials, max_age

可以指定的设置。有关详细信息,请参阅设置

变更

0.3 (2020-04-26)

  • 已移除:移除了对Python 2的支持。

    如果您想使用这个版本,必须升级到Python 3。

  • 添加了对Python 3.7和3.8以及PyPy 3.6的支持。

  • 将Python 3.7设置为默认测试环境。

  • 添加了Black代码格式化器的集成。

0.2 (2018-06-11)

  • 修复了失败(未经授权)的预检请求中允许的动词列表(见PR #4)。

0.1 (2018-06-08)

  • 首次公开发布

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

more.cors-0.3.tar.gz (7.1 kB 查看哈希值)

上传时间 源代码

构建发行版

more.cors-0.3-py2.py3-none-any.whl (7.7 kB 查看哈希值)

上传时间 Python 2 Python 3

支持