2016-12-05 2 views
0

Ich bin ein Neuling in Scala Welt und mit http4s für die Entwicklung der REST-Schicht meiner Anwendung. Ich benutze Blaze Server zum Bereitstellen/Veröffentlichen der Dienste. Ich muss einen Servlet-Filter oder Interceptor im Fluss bereitstellen, bevor er meine HttpService-Methoden erreicht. Wie kann ich das machen?Wie man einen Servlet-Filter in Blaze-Server (http4s) einbaut

Antwort

0

http4s Bibliothek hat so genannte middleware Funktionalität. Middleware-Funktionalität ist ein Wrapper rund um Ihren Service. Zum Beispiel haben Sie einfach Endpunkt:

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

Middleware anwenden können Sie wie folgt vorgehen:

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

Sie können: Ihre authUser brauchen

 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) 

und Ihr einfach zu implementieren Ich möchte das org.http4s.server.middleware-Paket für bereits vorhandene Middleware auschecken.

Verwandte Themen