Akka HTTP Настройка пользовательского заголовка ответа типа содержимого - PullRequest
0 голосов
/ 24 апреля 2020

Мне нужно установить Content-Type = "application/vxml",

Попробовал следующий код, но он не работает.

  val contentTypeHeader   = RawHeader("Content-Type", "application/vxml")
  val cacheControlHeader  = RawHeader("Cache-Control", "public, max-age=3600")
  val acceptRangesHeader  = RawHeader("Accept-Ranges", "bytes")
  val vxmlResponseHeaders = Seq(contentTypeHeader, cacheControlHeader, acceptRangesHeader)

  complete {
    actorResponseFuture map { response =>
      HttpResponse(StatusCodes.OK,
                   headers = vxmlResponseHeaders,
                   entity = HttpEntity(handleResponse(response, uri.toString())))
      }
  }

Но выдает следующую ошибку,

2020-04-24 14:24:00.722  WARN  [ccc-vxml-activities-akka.actor.default-dispatcher-14] akka.actor.ActorSystemImpl - Explicitly set HTTP header 'Content-Type: application/vxml' is ignored, illegal RawHeader

Ранее я использовал следующий код для установки Content-Type на text/xml(UTF-8), но я не могу использовать этот подход, поскольку application/vxml отсутствует в ContentTypes.

complete {
  actorResponseFuture map { response =>
    HttpResponse(StatusCodes.OK,
                 entity = HttpEntity(ContentTypes.`text/xml(UTF-8)`,
                                     handleResponse(response, uri.toString())))
  }
} 

Любые указатели были бы полезны.

...