in http-core/src/main/scala/com/twitter/finatra/http/marshalling/DefaultMessageBodyReaderImpl.scala [18:35]
override def parse[T: Manifest](message: Message): T = {
val objectReader =
objectMapper.reader[T].`with`(new MessageInjectableValues(injector, objectMapper, message))
val hasMessageBody = message.contentLength match {
case Some(length) if length > 0 => true
case _ => false
}
if (hasMessageBody && !ignoresBody[T] && isBodyJsonEncoded(message)) {
// the body of the message should be parsed by the object reader
MessageBodyReader.parseMessageBody[T](message, objectReader)
} else {
// use the object reader simply to trigger the framework
// case class deserializer over an empty object node
objectReader.readValue[T](DefaultMessageBodyReaderImpl.EmptyObjectNode)
}
}