Полочный сервер Dart: применяйте промежуточное программное обеспечение только к выбранным маршрутам

В Dart shelf_router я могу добавить промежуточное программное обеспечение следующим образом:

final handler = Pipeline()
    .addMiddleware(logRequests())
    .addMiddleware(auth())
    .addHandler(router.call);

Однако я хочу, чтобы промежуточное программное обеспечение auth применялось только к определенным маршрутам, а не ко всем:

final router = Router()
  ..get('/public', _publicHandler)    // no auth
  ..get('/private', _privateHandler); // this route should apply auth

Как бы я это сделал?


97
1

Ответ:

Решено

https://codereview.stackexchange.com/a/274219 помогает? Насколько я вижу, вы могли бы просто обернуть свой собственный обработчик в Pipeline().addMiddleware().addHandler() и таким образом можно было бы ориентироваться на определенные маршруты?