раньше в Котлине

Я пытаюсь установить предварительный фильтр без пути для применения ко всем запросам. В котлине пытаюсь написать:

before { req, resp -> 
    // check auth then redirect if not authorized... 
}

Компилятор говорит:

Невозможно определить тип этого параметра (req и resp).

Как мне установить перед фильтром в Котлине без маршрута?


person LPal    schedule 14.11.2017    source источник
comment
Какое определение для before?   -  person ice1000    schedule 14.11.2017


Ответы (1)


Вы можете использовать путь * в Spark для соответствия всем путям, например:

before("*", { req, res ->
    logger.info("${req.requestMethod().toUpperCase()} ${req.fullUri()} by ${req.ip()} (${req.userAgent()})")
})

// or:

before("*") { req, res -> // ...
person msrd0    schedule 14.11.2017
comment
Всегда используйте второй пример, когда последний параметр функции имеет лямбда-тип. - person marstran; 14.11.2017
comment
@marstran Почему? Afaik, это просто различия в синтаксисе, каждое из которых приводит к одному и тому же байт-коду, так что это зависит от предпочтений разработчика. - person msrd0; 14.11.2017