+ .map(MessageTo::toString)
+ .onErrorResume(throwable ->
+ {
+ WebClientResponseException e = (WebClientResponseException)throwable.getCause();
+ return Mono.just(e.getResponseBodyAsString(Charset.defaultCharset()));
+ })
+ .subscribe(result -> log.info(
+ "{} sent a message to {}: {}",
+ user,
+ chatRoom,
+ result));
+ }
+ try
+ {
+ Thread.sleep(ThreadLocalRandom.current().nextLong(700, 1000));
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }