2016-12-05 86 views

回答

0

http4s圖書館所謂middleware功能。中間件功能是您的服務的一個包裝。 例如,你有簡單的端點:

val helloWorldService = HttpService { 
    case GET -> Root/"hello"/name => 
    Ok(s"Hello, $name.") 
} 

要應用的中間件,你可以做到以下幾點:

 val service: HttpService = middleware(authedService) 

     val authedService: AuthedService[User] = 
     AuthedService { 
      case GET -> Root/"welcome" as user => Ok(s"Welcome, ${user.name}") 
     } 
     val middleware = AuthMiddleware(authUser) 

和你只需要實現你的authUser

val authUser: Service[Request, User] = ??? 

您可能希望查看org.http4s.server.middleware包是否已存在的中間件。