Вызов маршрута, когда в котлине выполняется одно условие

У меня есть функция verifyToken(), возвращающая тип Either, если есть RuntimeException, вернуть HttpError иначе, если я получаю строку, которую хочу вызвать getData().

Я думаю о чем-то вроде:

"/getData" bind Method.POST to verifyToken() andThen {
     getData()
}

Но это дает мне:

Ни одна из следующих функций не может быть вызвана с указанными аргументами. маршруты (vararg Pair = (Request) → Response />), определенные в org.http4k.routingroutes(vararg RoutingHttpHandler), определенные в org.http4k.routing

Возможен ли вариант использования с помощью этого подхода или есть какой-либо другой / лучший способ? Я не могу использовать фильтр, так как у меня более одного маршрута, и я хочу, чтобы это условие было только на этом маршруте.

Мне в основном нужен интержектор запросов, мой verifyToken должен принимать заголовок запроса и его проверку токена jwt и из утверждений, извлекающих userId.

Я нашел этот https://www.http4k.org/guide/modules/oauth/, но он делает что-то еще.

0 ответов

Другие вопросы по тегам