akka-http: Como definir cabeçalhos de resposta

Eu tenho uma rota da seguinte maneira:

val route = {
    logRequestResult("user-service") {
      pathPrefix("user") {
        get {
          respondWithHeader(RawHeader("Content-Type", "application/json")) {
            parameters("firstName".?, "lastName".?).as(Name) { name =>
              findUserByName(name) match {
                case Left(users) => complete(users)
                case Right(error) => complete(error)
              }
            }
          }
        } ~
          (put & entity(as[User])) { user =>
            complete(Created -> s"Hello ${user.firstName} ${user.lastName}")
          } ~
          (post & entity(as[User])) { user =>
            complete(s"Hello ${user.firstName} ${user.lastName}")
          } ~
          (delete & path(Segment)) { userId =>
            complete(s"Hello $userId")
          }
      }
    }
  }

O tipo de conteúdo da minha resposta deve sempre serapplication/json como eu configurei para oget solicitação. No entanto, o que estou recebendo nos meus testes étext/plain. Como defino o tipo de conteúdo corretamente na resposta?

Em uma nota lateral, a documentação do akka-http é um dos pedaços de lixo mais inúteis que eu já vi. Quase todos os links para códigos de exemplo estão quebrados e suas explicações apenas afirmam o óbvio. O Javadoc não tem exemplo de código e eu não consegui encontrar a base de código no Github, portanto, aprender com os testes de unidade também está fora de questão.

questionAnswers(1)

yourAnswerToTheQuestion