server.listen(ar -> { if (!ar.succeeded()) { ar.cause().printStackTrace();
/** * Start the shell service, this is an asynchronous start. * @return */ public io.vertx.rxjava.ext.shell.ShellServer listen() { delegate.listen(); return this; }
/** * Start the shell service, this is an asynchronous start. * @param listenHandler handler for getting notified when service is started * @return */ public io.vertx.rxjava.ext.shell.ShellServer listen(Handler<AsyncResult<Void>> listenHandler) { delegate.listen(listenHandler); return this; }
/** * Start the shell service, this is an asynchronous start. * @return */ public io.vertx.rxjava.ext.shell.ShellServer listen() { delegate.listen(); return this; }
/** * Start the shell service, this is an asynchronous start. * @param listenHandler handler for getting notified when service is started * @return */ public io.vertx.rxjava.ext.shell.ShellServer listen(Handler<AsyncResult<Void>> listenHandler) { delegate.listen(listenHandler); return this; }
/** * Start the shell service, this is an asynchronous start. */ @Fluent default ShellServer listen() { return listen(ar -> {}); }
@Before public void before(TestContext context) throws Exception { ctx = new AtomicReference<>(null); vertx = Vertx.vertx(); server = ShellServer.create(vertx) .registerCommandResolver(new BaseCommandPack(vertx)).listen(context.asyncAssertSuccess()); }
private void startServer(List<CommandResolver> resolvers, Handler<AsyncResult<Void>> startHandler) { TelnetTermOptions telnetOptions = options.getTelnetOptions(); SSHTermOptions sshOptions = options.getSSHOptions(); HttpTermOptions webOptions = options.getHttpOptions(); if (telnetOptions != null) { server.registerTermServer(new TelnetTermServer(vertx, telnetOptions)); } if (sshOptions != null) { server.registerTermServer(new SSHServer(vertx, sshOptions)); } if (webOptions != null) { server.registerTermServer(new HttpTermServer(vertx, webOptions)); } resolvers.forEach(server::registerCommandResolver); server.listen(startHandler); }
@Before public void before(TestContext context) throws Exception { vertx = Vertx.vertx(); server = ShellServer.create(vertx).registerCommandResolver(new BaseCommandPack(vertx)).listen(context.asyncAssertSuccess()); }
@Before public void before(TestContext context) { vertx = Vertx.vertx(); server = ShellServer.create(vertx); commands = new TestCommands(vertx); server. registerCommandResolver(CommandResolver.baseCommands(vertx)). registerCommandResolver(commands). listen(context.asyncAssertSuccess()); }
private void startShellServer(TestContext context, long sessionTimeout, long reaperInterval) { if (shellServer != null) { throw new IllegalStateException("Already started"); } Async latch = context.async(); shellServer = ShellServer.create(vertx, new ShellServerOptions().setSessionTimeout(sessionTimeout).setReaperInterval(reaperInterval)). registerTermServer(termServer). registerCommandResolver(registry). listen(context.asyncAssertSuccess(v -> latch.complete())); latch.awaitSuccess(20000); }
@Test public void testPrompt(TestContext context) { commands = new TestCommands(vertx); ShellServer server = ShellServer.create(vertx, new ShellServerOptions() .setWelcomeMessage("") .setSessionTimeout(100) .setReaperInterval(100)); server.shellHandler(shell -> shell.setPrompt(s -> "FOOPROMPT")); TestTermServer termServer = new TestTermServer(vertx); server.registerTermServer(termServer); server. registerCommandResolver(CommandResolver.baseCommands(vertx)). registerCommandResolver(commands). listen(context.asyncAssertSuccess()); TestTtyConnection conn = termServer.openConnection(); Async async = context.async(); commands.add(CommandBuilder.command("foo").processHandler(process -> { context.assertEquals(null, conn.checkWritten("FOOPROMPTfoo\n")); process.stdinHandler(cp -> { context.fail(); }); process.endHandler(v -> { async.complete(); } ); process.end(); })); conn.read("foo\r"); async.awaitSuccess(5000); }