Я пытаюсь создать приложение на Playframework 2.4 с macwire DI, и у меня есть проблема с httpFilters из Play! Вот пример того, что я пытаюсь сделатьКак запустить httpFilters в playframework 2.4
class ExampleFilter extends Filter {
def apply(nextFilter: RequestHeader => Future[Result])
(requestHeader: RequestHeader): Future[Result] = {
nextFilter(requestHeader).map { result =>
result.withHeaders("Example" -> "test")
}
}
}
class Filters(ex:ExampleFilter) extends HttpFilters {
val filters = Seq(ex)
}
модуль DI
trait Module extends EhCacheComponents with BuiltInComponents {
lazy val exampleFilter = wire[ExampleFilter]
lazy val filters = wire[Filters]
погрузчик класса
class Loader extends ApplicationLoader {
def load(context: Context) = {
new MyComponents(context).application
}
}
class MyComponents(context: Context) extends BuiltInComponentsFromContext(context) with Module {
lazy val router: Router = wire[Routes] withPrefix "/"
}
часть application.conf является
play.http.filters = Filters
и ExampleFilter не работает. Я получаю ответ без заголовка «Пример»
Вы настроили загрузчик приложений в application.conf? play.application.loader = Loader – rethab
Да все работает отлично, кроме тех фильтров – mrxelik