当使用jetty组件作为容器时,我很难弄清楚camelestdsl如何填充CORS响应头。
camel.rest.cors-headers.Access-Control-Allow-Credentials=true
camel.rest.cors-headers.Access-Control-Max-Age=3600
camel.rest.cors-headers.Access-Control-Allow-Methods=GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH
camel.rest.cors-headers.Access-Control-Allow-Headers=Origin, X-Requested-With, Content-Type, Accept, Accept-Encoding, Accept-Language, Host, Referer, User-Agent, Authorization, x-omit
camel.rest.cors-headers.Access-Control-Allow-Origin=*.example.com,*.example1.com,*.example2.com
但是,它始终返回原点列表,而不是在原点标头中传递的值。
我已经尝试在Jetty组件上启用CORS并编写一个自定义JettyHttpBinding,但是,camel rest仍然以某种方式覆盖了这些值。我期望的结果是,如果原始值在允许的原始值列表中,那么它应该返回Access-Control-Allow-Origin头作为原始值,否则返回一个错误/抛出一个异常。有什么方法可以自定义这个吗?任何帮助都将非常感谢
1条答案
按热度按时间lndjwyie1#
我终于能够做到这一点后,得到了一些想法,从以下问题。Add CORSHandler to a camel-jetty component
但是,我必须扩展HandlerWrapper类,而不是AbstractHandler