package netflix.karyon.examples.hellonoss.common.auth; import io.netty.buffer.ByteBuf; import io.reactivex.netty.protocol.http.server.HttpServerRequest; import io.reactivex.netty.protocol.http.server.HttpServerResponse; import netflix.karyon.transport.interceptor.InboundInterceptor; import rx.Observable; import rx.functions.Func1; import javax.inject.Inject; /** * @author Nitesh Kant */ public class AuthInterceptor implements InboundInterceptor<HttpServerRequest<ByteBuf>, HttpServerResponse<ByteBuf>> { private final AuthenticationService authService; @Inject public AuthInterceptor(AuthenticationService authService) { this.authService = authService; } @Override public Observable<Void> in(HttpServerRequest<ByteBuf> request, HttpServerResponse<ByteBuf> response) { return authService.authenticate(request).map(new Func1<Boolean, Void>() { @Override public Void call(Boolean aBoolean) { return null; } }); } }