Class HttpTtyConnection

java.lang.Object
org.aesh.terminal.http.HttpTtyConnection
All Implemented Interfaces:
AutoCloseable, org.aesh.terminal.Connection

public abstract class HttpTtyConnection extends Object implements org.aesh.terminal.Connection
A connection to an http client, independent of the protocol, it could be straight WebSockets or SockJS, etc... The incoming protocol is based on json messages: { "action": "read", "data": "what the user typed" } or { "action": "resize", "cols": 30, "rows: 50 }
Author:
Julien Viet, Matej Lazar
  • Field Details

    • DEFAULT_SIZE

      public static final org.aesh.terminal.tty.Size DEFAULT_SIZE
  • Constructor Details

    • HttpTtyConnection

      public HttpTtyConnection()
    • HttpTtyConnection

      public HttpTtyConnection(Charset charset, org.aesh.terminal.tty.Size size)
  • Method Details

    • outputEncoding

      public Charset outputEncoding()
      Specified by:
      outputEncoding in interface org.aesh.terminal.Connection
    • inputEncoding

      public Charset inputEncoding()
      Specified by:
      inputEncoding in interface org.aesh.terminal.Connection
    • lastAccessedTime

      public long lastAccessedTime()
    • device

      public org.aesh.terminal.Device device()
      Specified by:
      device in interface org.aesh.terminal.Connection
    • write

      protected abstract void write(byte[] buffer)
    • writeToDecoder

      public void writeToDecoder(String msg)
    • getTerminalTypeHandler

      public Consumer<String> getTerminalTypeHandler()
    • setTerminalTypeHandler

      public void setTerminalTypeHandler(Consumer<String> handler)
    • size

      public org.aesh.terminal.tty.Size size()
      Specified by:
      size in interface org.aesh.terminal.Connection
    • getSizeHandler

      public Consumer<org.aesh.terminal.tty.Size> getSizeHandler()
      Specified by:
      getSizeHandler in interface org.aesh.terminal.Connection
    • setSizeHandler

      public void setSizeHandler(Consumer<org.aesh.terminal.tty.Size> handler)
      Specified by:
      setSizeHandler in interface org.aesh.terminal.Connection
    • getSignalHandler

      public Consumer<org.aesh.terminal.tty.Signal> getSignalHandler()
      Specified by:
      getSignalHandler in interface org.aesh.terminal.Connection
    • setSignalHandler

      public void setSignalHandler(Consumer<org.aesh.terminal.tty.Signal> handler)
      Specified by:
      setSignalHandler in interface org.aesh.terminal.Connection
    • getStdinHandler

      public Consumer<int[]> getStdinHandler()
      Specified by:
      getStdinHandler in interface org.aesh.terminal.Connection
    • setStdinHandler

      public void setStdinHandler(Consumer<int[]> handler)
      Specified by:
      setStdinHandler in interface org.aesh.terminal.Connection
    • stdoutHandler

      public Consumer<int[]> stdoutHandler()
      Specified by:
      stdoutHandler in interface org.aesh.terminal.Connection
    • setCloseHandler

      public void setCloseHandler(Consumer<Void> closeHandler)
      Specified by:
      setCloseHandler in interface org.aesh.terminal.Connection
    • getCloseHandler

      public Consumer<Void> getCloseHandler()
      Specified by:
      getCloseHandler in interface org.aesh.terminal.Connection
    • openBlocking

      public void openBlocking()
      Specified by:
      openBlocking in interface org.aesh.terminal.Connection
    • openNonBlocking

      public void openNonBlocking()
      Specified by:
      openNonBlocking in interface org.aesh.terminal.Connection
    • put

      public boolean put(org.aesh.terminal.tty.Capability capability, Object... params)
      Specified by:
      put in interface org.aesh.terminal.Connection
    • getAttributes

      public org.aesh.terminal.Attributes getAttributes()
      Specified by:
      getAttributes in interface org.aesh.terminal.Connection
    • setAttributes

      public void setAttributes(org.aesh.terminal.Attributes attr)
      Specified by:
      setAttributes in interface org.aesh.terminal.Connection
    • supportsAnsi

      public boolean supportsAnsi()
      Specified by:
      supportsAnsi in interface org.aesh.terminal.Connection