Class AuthHandler

java.lang.Object
com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerAdapter
com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
com.couchbase.client.core.deps.io.netty.channel.SimpleChannelInboundHandler<T>
com.couchbase.client.dcp.transport.netty.AuthHandler
All Implemented Interfaces:
com.couchbase.client.core.deps.io.netty.channel.ChannelHandler, com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler, com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler, CallbackHandler

public class AuthHandler extends com.couchbase.client.core.deps.io.netty.channel.SimpleChannelInboundHandler<T> implements CallbackHandler
Performs SASL authentication against the socket and once complete removes itself.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.couchbase.client.core.deps.io.netty.channel.ChannelHandler

    com.couchbase.client.core.deps.io.netty.channel.ChannelHandler.Sharable
  • Constructor Summary

    Constructors
    Constructor
    Description
    AuthHandler(Credentials credentials)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    bind(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, SocketAddress localAddress, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)
     
    void
    channelActive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
    Once the channel is active, start the SASL auth negotiation.
    void
    channelInactive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
     
    protected void
    channelRead0(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.buffer.ByteBuf msg)
    Every time we receive a message as part of the negotiation process, handle it according to the req/res process.
    void
    close(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)
     
    void
    connect(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, SocketAddress remoteAddress, SocketAddress localAddress, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)
    Intercept the connect phase and store the original promise.
    void
    deregister(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)
     
    void
    disconnect(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)
     
    void
    exceptionCaught(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Throwable cause)
     
    void
    flush(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
     
    void
    handle(Callback[] callbacks)
    Handles the SASL defined callbacks to set user and password (the CallbackHandler interface).
    void
    read(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
     
    void
    userEventTriggered(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Object evt)
     
    void
    write(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Object msg, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)
     

    Methods inherited from class com.couchbase.client.core.deps.io.netty.channel.SimpleChannelInboundHandler

    acceptInboundMessage, channelRead

    Methods inherited from class com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter

    channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged

    Methods inherited from class com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, handlerAdded, handlerRemoved, isSharable

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.couchbase.client.core.deps.io.netty.channel.ChannelHandler

    handlerAdded, handlerRemoved
  • Constructor Details

    • AuthHandler

      public AuthHandler(Credentials credentials)
  • Method Details

    • channelActive

      public void channelActive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Once the channel is active, start the SASL auth negotiation.
      Specified by:
      channelActive in interface com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler
      Overrides:
      channelActive in class com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception
    • channelRead0

      protected void channelRead0(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.buffer.ByteBuf msg) throws Exception
      Every time we receive a message as part of the negotiation process, handle it according to the req/res process.
      Specified by:
      channelRead0 in class com.couchbase.client.core.deps.io.netty.channel.SimpleChannelInboundHandler<com.couchbase.client.core.deps.io.netty.buffer.ByteBuf>
      Throws:
      Exception
    • handle

      public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException
      Handles the SASL defined callbacks to set user and password (the CallbackHandler interface).
      Specified by:
      handle in interface CallbackHandler
      Throws:
      IOException
      UnsupportedCallbackException
    • connect

      public void connect(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, SocketAddress remoteAddress, SocketAddress localAddress, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise) throws Exception
      Intercept the connect phase and store the original promise.
      Specified by:
      connect in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • bind

      public void bind(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, SocketAddress localAddress, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise) throws Exception
      Specified by:
      bind in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • disconnect

      public void disconnect(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise) throws Exception
      Specified by:
      disconnect in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • close

      public void close(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise) throws Exception
      Specified by:
      close in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • deregister

      public void deregister(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise) throws Exception
      Specified by:
      deregister in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • read

      public void read(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Specified by:
      read in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • write

      public void write(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Object msg, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise) throws Exception
      Specified by:
      write in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • flush

      public void flush(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Specified by:
      flush in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • exceptionCaught

      public void exceptionCaught(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Throwable cause) throws Exception
      Specified by:
      exceptionCaught in interface com.couchbase.client.core.deps.io.netty.channel.ChannelHandler
      Specified by:
      exceptionCaught in interface com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler
      Overrides:
      exceptionCaught in class com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception
    • userEventTriggered

      public void userEventTriggered(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Object evt) throws Exception
      Specified by:
      userEventTriggered in interface com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler
      Overrides:
      userEventTriggered in class com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception
    • channelInactive

      public void channelInactive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Specified by:
      channelInactive in interface com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler
      Overrides:
      channelInactive in class com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception