я использую спрей-маршрутизацию с Акки, чтобы определить маршрут, какКак установить код статуса и заголовки в распылительных маршрутизациях на основе будущего результата
def items = path("items") {
get {
complete {
actor.ask(GetItems)(requestTimeout).mapTo[Either[NoChange, Items]] map {
result => result match {
case Left(_) => StatusCodes.NotModified
case Right(items) =>
// here I want to set an HTTP Response header based on a
// field within items -- items.revision
items
}
}
}
}
}
actor.ask возвращает будущее, который получает переведенное в будущее [Либо [NoChange, Items]]. «complete» рад иметь дело с Future [StatusCodes ...] или Future [Items], но я не уверен, как настроить заголовок HTTP-ответа в будущем.
Если заголовок не был установлен в будущем, я мог бы просто обернуть его в директиве, но как установить заголовок в пределах полного?
Я использую Spray 1.2.0.
Спасибо за любые указатели в правильном направлении!
Большое спасибо, jrudolph, для решения и указатель на документы на FutureDirectives, идеальная подгонка – jmcnulty