BaseX REST API:设置自定义 HTTP 响应标头

2023-12-28

我想将以下 HTTP 标头包含到所有响应中BaseX REST API http://docs.basex.org/wiki/REST:

Access-Control-Allow-Origin: *

这可能吗?


BaseX 在底层使用 Jetty。您可以修改web.xml文件使 Jetty 发送 CORS 标头,但是

  • 至少使用 BaseX 8.6.3,其中添加了jetty-servlets图书馆或
  • 必须添加jetty-servlets https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-servlets/罐子到你的$CLASSPATH(BaseX 已经发货jetty-servlet,这是一个不同的类;并确保获取与 BaseX 中包含的内容相匹配的适当版本)。

包括以下指令web.xml file:

<web-app>
    <!-- add those before the closing web-app tag: -->
    <filter>
        <filter-name>cross-origin</filter-name>
        <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>cross-origin</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

请注意,Jetty 似乎不支持发布通配符标头Access-Control-Allow-Origin: *: 虽然默认值已经是

<init-param>
     <param-name>allowedOrigins</param-name>
     <param-value>*</param-value>
</init-param>

(将其放入<filter/>元素),Jetty 使用它来构造正则表达式并始终返回该值Origin:请求标头(如果匹配),但这也应该对您有好处。

请求示例:

$ curl -v -H "Origin: http://foo.example" http://admin:admin@localhost:8984/rest
*   Trying ::1...
* Connected to localhost (::1) port 8984 (#0)
* Server auth using Basic with user 'admin'
> GET /rest HTTP/1.1
> Host: localhost:8984
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: curl/7.50.1
> Accept: */*
> Origin: http://foo.example
> 
< HTTP/1.1 200 OK
< Content-Type: application/xml; charset=UTF-8
< Content-Length: 152
< Server: Jetty(8.1.18.v20150929)
< 
<rest:databases xmlns:rest="http://basex.org/rest" resources="1">
  <rest:database resources="1" size="96234589">test</rest:database>
</rest:databases>
* Connection #0 to host localhost left intact

鉴于这似乎是一个相当合理的请求和要做的事情,你可能会成功打开一个问题 https://github.com/BaseXdb/basex/issues默认包含该库,甚至可能默认启用 CORS。 (现在默认包含该库)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BaseX REST API:设置自定义 HTTP 响应标头 的相关文章

  • 面向服务的架构 - AMQP 或 HTTP

    一点背景 非常大的整体 Django 应用程序 所有组件都使用相同的数据库 我们需要分离服务 以便我们可以独立升级系统的某些部分而不影响其余部分 我们使用 RabbitMQ 作为 Celery 的代理 现在我们有两个选择 使用 REST 接
  • AJAX 发送数据到 Node.js 服务器

    我尝试使用 AJAX 将数据发送到 Node js 服务器 但不断遇到同样的问题 即接收问题 这是客户端 JavaScript AJAX 代码 var objects function return new XMLHttpRequest f
  • 404 标头 - HTTP 1.0 还是 1.1?

    为什么我能找到的几乎每个例子 包括这个问题 https stackoverflow com questions 437256 sending a 404 error in php大约一年前 说 404 标头应该是HTTP 1 0 404 N
  • Node.js:server.setTimeout、server.timeout 和 server.keepAliveTimeout 之间有什么区别

    官方文档是here https nodejs org api http html http server settimeout msecs callback server setTimeout 中没有提及有关服务下一个请求的信息 所以我认为
  • 瞬态 REST 表示

    假设我有一个 RESTful 超文本驱动的服务 用于模拟冰淇淋店 为了帮助更好地管理我的商店 我希望能够显示每日报告 列出所售每种冰淇淋的数量和美元价值 看来这种报告功能可以作为名为 DailyReport 的资源公开 DailyRepor
  • iOS WKWebView 处理文件下载

    我面临以下问题 在 Web 界面中 文件下载是通过锚标记触发的 如下所示 a href bla blabla a 虽然 Safari 浏览器可以处理此请求并打开一个对话框来处理文件 但 WKWebView 将此视为普通链接并且不对其执行任何
  • Spring RESTful控制器方法改进建议

    我是 Spring REST 和 Hibernate 的新手 也就是说 我尝试组合一个企业级控制器方法 我计划将其用作未来开发的模式 您认为可以通过哪些方法来改进 我确信有很多 RequestMapping value user metho
  • Rails 5.1 CORS - 如何为不同环境设置不同来源

    我正在使用带有 Rail 5 1 API 的rack cors gem 根据文档 我有以下初始化程序 配置 初始化器 cors rb module Api Rails application config middleware insert
  • Rails、REST 架构和 HTML 5:带有预检请求的跨域请求

    在致力于使我们的网站 HTML 5 友好的项目时 我们渴望采用跨域请求的新方法 不再通过隐藏的 iframe 发布 使用访问控制 http www w3 org TR access control 根据规范 我们开始设置一些测试来验证各种浏
  • 用 C++ 解析 HTTP 标头

    我正在使用curl 与服务器通信 当我发出数据请求时 我收到 HTTP 标头 后跟由边界分隔的 jpeg 数据 如下所示 我需要解析出 边界字符串 内容长度 我已将传入数据复制到 char 数组 如下所示 static size t OnR
  • Web 服务应该是事务性的吗?

    我正在研究为应用程序编写网络服务 在此应用程序中 我们在事务中执行所有操作 因为 工作单元 通常不是单个实体 而是跨越多个表的多个实体 在某些情况下 我们想要 全有或全无 而交易是非常有意义的 然而 我不太确定如何在网络服务中执行此操作 也
  • 自托管 WCF REST 服务和基本身份验证

    我创建了一个自托管的 WCF REST 服务 带有 WCF REST Starter Kit Preview 2 中的一些额外内容 这一切工作正常 我现在正在尝试向服务添加基本身份验证 但我在 WCF 堆栈中遇到了一些相当大的障碍 这阻止了
  • Angular 2 - Http - 正确忽略空结果

    我有很多处理请求并简单返回 200 的 REST 端点 我注意到将结果映射为错误json 如果我尝试不进行任何类型的映射 我会看到浏览器警告它无法解析 XML 由于不返回任何内容是很常见的 我很好奇我应该如何处理响应 这是一个基本的代码示例
  • 使用 WCF 支持“application/x-www-form-urlencoded”发布数据的最佳方式?

    我正在基于 W3C 规范构建 WCF 服务 该规范定义了接受 application x www form urlencoded 发布数据的 RESTful Web 服务端点 默认情况下 WCF 不支持这种类型的消息编码 我发现了许多创建如
  • 如何按角色限制对 Spring Data REST 投影的访问?

    在使用 Spring Data JPA 和 Spring Data REST 的应用程序中 假设您有一个如下所示的实体类 Entity public class Person Id GeneratedValue private int id
  • Jersey 对空列表的响应为 null 而不是 {}

    我有一个使用 Jersey 的 JAX RS REST 服务 我使用 JAXB 进行 JSON 编组 即 XmlRootElement 其中一个方法返回使用 JPA 持久化的对象列表 当此列表包含条目时 它会按我的预期工作 例子 andro
  • 在 Android 中使用 DataOutputStream 在 POST 正文中发送特殊字符 (ë ä ï)

    我目前正在开发一个具有大量服务器端通信的 Android 应用程序 昨天 我收到一份错误报告 称用户无法发送 简单 特殊字符 例如 我搜索过但没有找到任何有用的东西 可能重复 没有答案 https stackoverflow com que
  • 如何记录进入 IIS 的 HTTP 请求

    我在我的开发机器上运行 IIS 5 我有一个 asp net 3 5 Web 服务在其上运行 我从同一服务器上运行的不同 Web 应用程序调用该服务 我的服务返回错误 500 内部服务器错误 我正在对其进行故障排除 我的请求是通过Syste
  • 在 HTTP 标头中发送 UTF-8 值会导致 Mojibake

    我想使用 servlet 发送阿拉伯语数据HTTPServletResponse给客户 我正在尝试这个 response setCharacterEncoding UTF 8 response setHeader Info arabicWo
  • 扩展(十进制,例如 400.1、401.4 等)HTTP 状态代码从何而来?

    我越来越多地看到十进制样式 HTTP 状态代码的激增 而且我似乎找不到任何 RFC 或其他 IETF 建议 甚至 W3C 草案或除 Microsoft IIS 文档之外的其他内容 请参阅https support microsoft com

随机推荐

  • 在 Playground 中处理实时照片

    我已经在网络上进行了大量搜索 但我目前正在尝试在 Playground 中使用 实时照片 我知道框架 PHLivePhoto 我只是不知道是否可以在 Playground 中使用它们 因为没有太多可以 导入 的内容 因为似乎没有任何可用的
  • 如何在 JSDoc 中指定 Promise 的解析和拒绝类型?

    我有一些返回承诺对象的代码 例如使用Q https github com kriskowal qNodeJS 的库 var Q require q returns function task err return err Q reject
  • ruby 中不带参数的 DSL 块

    我正在用 ruby 编写一个简单的 dsl 几周前 我偶然发现了一些博客文章 其中展示了如何转换代码 例如 some method argument do book book some method on book book some ot
  • ReportViewer (SSRS) 与 VB.NET 出现错误

    我想嵌入一个带有 ReportViewer 对象的 net 网页 我创建了一个测试项目并具有
  • 如何在生产中的 Webpack 项目中使用 CDN 中的库

    我想用react min js来自生产中的 CDN 例如https unpkg com 电子邮件受保护 dist react min js https unpkg com react 15 3 1 dist react min js 让 W
  • 在当前控制台中运行进程

    我正在为 Windows 编写一个基本 shell 我想知道是否有任何方法可以运行子进程 Process process 以便它使用当前的控制台窗口 我的意思是我这样做not想要重定向输入 输出 我希望该进程从当前控制台获取输入并将输出直接
  • R 不接受 xpath 查询

    您好 我正在使用 R 中的 XML 包来抓取 html 页面 感兴趣的页面是http www ncbi nlm nih gov Protein 225903367 report fasta http www ncbi nlm nih gov
  • 如何使用FreeArc来高度压缩Inno Setup中的应用程序数据? [复制]

    这个问题在这里已经有答案了 需要使我的应用程序尽可能小 至少是原始大小的一半 FreeArc 提供了很好的压缩功能 但我如何在 Inno Setup 中使用它 该答案已被取代Inno Setup 如何在解压页面添加取消按钮 https st
  • 如何查询 Cloud Firestore 中不存在的文档键

    假设我有一个带有一些可选属性的数据模型 例如 这可以是具有 名字 姓氏 和可选的 网站 属性的用户对象 在 Cloud Firestore 中 只有具有已知网站的用户文档才会设置 网站 属性 对于所有其他用户文档 此属性将不存在 我现在的问
  • 如何测试变量是否已设置?

    在PHP中 有一个isset功能 那么Java呢 我想我可以用 null对于对象 但是像这样的值类型呢 int Java 的编译器不允许您定义变量并在为其赋值之前使用它们 因此该问题不会以与 php 中相同的形式存在 EDIT 如果在您的情
  • 重新导入具有相同名称的不同Python模块

    我有一个 python 项目 需要能够运行外部脚本 这些脚本动态导入到具有多个模块的目录结构中 现在 由于这些脚本是独立编写的并且彼此不知道 因此它们通常使用相同的模块名称 这使得我在逐个导入它们时遇到问题 例如 这是我的目录结构 main
  • F# 惰性求值与非惰性求值

    我刚刚开始学习 F 所以如果这是基础的 请友善 我读过标记为惰性的函数仅计算一次 然后缓存 例如 let lazyFunc lazy 1 1 let theValue Lazy force lazyFunc 与每次调用时实际运行的此版本相比
  • 区分 ASP.NET MVC4 中的空参数和缺失参数

    我正在写一个API 我想允许 PUT 方法来更新资源 下面是代表资源的示例模型对象 var resourceToUpdate new TestResourceModel Id 5 Name testName Description desc
  • 根据当前时间戳生成 MySQL 每小时细分

    恐怕这可能是一个非常令人尴尬的简单问题 但此时我的思绪完全陷入了困境 我有一个表 存储不同人进行的活动的数量以及活动发生的时间 我想创建一个接受人员姓名作为参数的报告 并显示从当前时间戳开始的过去 24 小时内该人员每小时的活动数 now
  • 在 prolog 中表示线性函数

    我想编写复合项来表示 Y a b X 形式的总体中不同变量之间的线性关系 例如 对于由汽车组成的总体 燃料消耗 2 3 距离 我在声明该关系与人口 群体 有关时遇到问题 同时声明每个变量的值在对象内链接 即汽车 A 的燃油消耗是 2 3 汽
  • PySimpleGui:如何在文本框中输入文本?

    我正在通过参考教程来学习 PySimpleGui Link 1 https pysimplegui readthedocs io en latest tutorial and Link 2 https pysimplegui readthe
  • collectionView cellForItemAt 未被调用

    我有一个UITableView其中每个原型电池都有一个UICollectionView在里面 该集合视图应该是图像网格 我对 Swift 很陌生 已经在 google 上搜索了几个小时 并阅读了大量 StackOverflow 文章 但似乎
  • 枚举拳击和平等

    为什么这会返回 False public enum Directions Up Down Left Right static void Main string args bool matches IsOneOf Directions Rig
  • 如何使用 jQuery 解开所有父项?

    p span a href link a span p 我该如何打开一切 只留下 a href link a edit 抱歉 我应该提供更多信息 基本上 我试图瞄准所有a那是唯一的孩子span的周围是p标签 我希望以下内容能够解决问题 但它
  • BaseX REST API:设置自定义 HTTP 响应标头

    我想将以下 HTTP 标头包含到所有响应中BaseX REST API http docs basex org wiki REST Access Control Allow Origin 这可能吗 BaseX 在底层使用 Jetty 您可以