微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spring-web-mvc是否应以区分大小写的方式处理Connection标头值?

如何解决spring-web-mvc是否应以区分大小写的方式处理Connection标头值?

在使用https://github.com/leangen/graphql-spqr-spring-boot-starter 0.0.4版本时,我遇到了一个问题,其中AWS ALB(应用程序负载平衡器)将Connection标头的值从Upgrade更改为{{1} },并使通过websocket的订阅无法使用。

问题出在三方面:

  • ALB更改了标头值
  • spqr库的GraphQLCotroller类声明了以下标头条件:
upgrade
  • Spring以区分大小写的方式检查spring-webmvc-5.2.7 @GetMapping( value = "${graphql.spqr.http.endpoint:/graphql}",produces = MediaType.APPLICATION_JSON_VALUE,headers = "Connection!=Upgrade" ) 中的标头值

通过检查https://tools.ietf.org/html/rfc7230#section-6.1,我们可以看到提到连接选项不区分大小写。

spring是否应该为此标头提供自定义处理程序,就像它对org.springframework.web.servlet.mvc.condition.HeadersRequestCondition#getMatchingConditionConsumesRequestCondition标头具有ProducesRequestConditionAccept一样?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。