2016-12-05 7 views
0

저는 scala 세계의 초보자이며 http4s를 사용하여 내 응용 프로그램의 REST 계층을 개발하고 있습니다. 나는 서비스를 배치/게시하기 위해 블레이즈 서버를 사용하고 있습니다. 내 HttpService 메소드에 도달하기 전에 플로우에 서블릿 필터 또는 인터셉터를 마운트해야합니다. 어떻게해야합니까?블레이즈 서버에 서블릿 필터를 설치하는 방법 (http4s)

답변

0

http4s 라이브러리는 middleware 기능이라고합니다. 미들웨어 기능은 서비스를 둘러싼 래퍼입니다.

 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] = ??? 

당신은 수도를

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

당신이 다음을 수행 할 수 있습니다 미들웨어를 적용하려면 : 예를 들어 , 당신은 간단한 엔드 포인트가 이미 존재하는 미들웨어를위한 org.http4s.server.middleware 패키지를 확인하고 싶다.