Datasette插件,用于配置CORS头信息
项目描述
datasette-cors
基于 asgi-cors 的Datasette插件,用于配置CORS头信息。
您可以使用此插件允许在允许列表的域名集合上运行的JavaScript对您的Datasette实例提供的JSON API进行fetch()调用。
安装
datasette install datasette-cors
配置
您需要添加一些插件配置,以便此插件生效。
要允许特定域名,使用以下方法
{
"plugins": {
"datasette-cors": {
"hosts": ["https://www.example.com"]
}
}
}
这将影响 access-control-allow-origin
头。
您也可以按如下方式允许匹配主机模式
{
"plugins": {
"datasette-cors": {
"host_wildcards": ["https://*.example.com"]
}
}
}
要允许所有来源,使用以下方法
{
"plugins": {
"datasette-cors": {
"allow_all": true
}
}
}
这将把 access-control-allow-origin
头设置为 *
。
您可以使用 access-control-allow-headers
头通过 headers
选项指定允许的头部
{
"plugins": {
"datasette-cors": {
"allow_all": true,
"headers": ["Authorization", "Content-Type"]
}
}
}
要使用 access-control-allow-methods
头允许特定的HTTP方法,使用 methods
选项
{
"plugins": {
"datasette-cors": {
"allow_all": true,
"methods": ["GET", "POST", "OPTIONS"]
}
}
}
您可以使用 max_age
选项设置 access-control-max-age
头
{
"plugins": {
"datasette-cors": {
"allow_all": true,
"max_age": 3600
}
}
}
测试它
要测试此插件,请将其保存为 metadata.json
并在本地运行以下命令
datasette -m metadata.json
使用Datasette 1.0,请使用 -c config.json
代替,或者尝试以下方法
datasette -s plugins.datasette-cors.allow_all true
现在,在您的浏览器中访问 https://www.example.com/,打开浏览器开发者控制台,并粘贴以下内容
fetch("http://127.0.0.1:8001/_memory.json?sql=select+sqlite_version%28%29").then(r => r.json()).then(console.log)
如果插件工作正常,您将在控制台看到JSON响应输出。
项目详情
关闭
datasette-cors-1.0.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a676982c6d316258d634e1e2437ec842fe917be601468ea5a16ed8a6ef9a9182 |
|
MD5 | ce512025a5670e1b549925c8271ec653 |
|
BLAKE2b-256 | 250755f754a104eddba0d3080a50a2c96d75c6851d65db29f6fcd1b244fb8512 |
关闭
datasette_cors-1.0.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e5890293fd81c469672b9fb63958e094b10449b1f126a406ce4036640b57b040 |
|
MD5 | ac7cfed70d9344f0454364fb32162973 |
|
BLAKE2b-256 | 99a8293da46a70fc332d57646a8fb2beddab12f9f36a824b538fae09061bd5a9 |