Должен ли spring-web-mvc обрабатывать значения заголовка соединения с учетом регистра?

При работе с https://github.com/leangen/graphql-spqr-spring-boot-starter версии 0.0.4 я столкнулся с проблемой, при которой AWS ALB (балансировщик нагрузки приложений) изменил значениеConnection заголовок из Upgrade к upgrade и сделал невозможными подписки через веб-сокеты.

Проблема состоит из трех частей:

  • ALB изменил значение заголовка
  • в классе GraphQLCotroller библиотеки spqr объявлено следующее условие заголовка:
@GetMapping(
            value = "${graphql.spqr.http.endpoint:/graphql}",
            produces = MediaType.APPLICATION_JSON_VALUE,
            headers = "Connection!=Upgrade"
    )
  • Spring проверяет значение заголовков внутри spring-webmvc-5.2.7 org.springframework.web.servlet.mvc.condition.HeadersRequestCondition#getMatchingCondition с учетом регистра

Проверяя https://tools.ietf.org/html/rfc7230, мы можем увидеть, что в параметрах подключения не учитывается регистр.

Если у Spring есть собственный обработчик для этого заголовка, как и у него ConsumesRequestCondition а также ProducesRequestCondition за Accept а также Content-Type заголовки?

0 ответов

Другие вопросы по тегам