Изменил обработку вебхуков
This commit is contained in:
parent
e2dd95e489
commit
332ba4f0f1
@ -23,8 +23,8 @@ import static dev.struchkov.haiti.utils.Inspector.isTrue;
|
|||||||
@Path("callback")
|
@Path("callback")
|
||||||
public class WebhookController {
|
public class WebhookController {
|
||||||
|
|
||||||
public static final String ERROR_ACCESS = "В доступе отказано!";
|
private static final String ERROR_ACCESS = "В доступе отказано!";
|
||||||
private final String pathKey = "bot";
|
private static final String PATH_KEY = "bot";
|
||||||
private final String secretToken;
|
private final String secretToken;
|
||||||
private final EventDistributor eventDistributor;
|
private final EventDistributor eventDistributor;
|
||||||
|
|
||||||
@ -41,10 +41,12 @@ public class WebhookController {
|
|||||||
return Uni.createFrom().voidItem()
|
return Uni.createFrom().voidItem()
|
||||||
.invoke(() -> {
|
.invoke(() -> {
|
||||||
log.trace("Получено webhook событие: {}", update);
|
log.trace("Получено webhook событие: {}", update);
|
||||||
isTrue(pathKey.equals(botPath), accessException(ERROR_ACCESS));
|
isTrue(PATH_KEY.equals(botPath), accessException(ERROR_ACCESS));
|
||||||
isTrue(secretToken.equals(secretTokenFromTelegram), accessException(ERROR_ACCESS));
|
isTrue(secretToken.equals(secretTokenFromTelegram), accessException(ERROR_ACCESS));
|
||||||
})
|
})
|
||||||
.call(() -> eventDistributor.processing(update))
|
.call(() -> eventDistributor.processing(update))
|
||||||
|
.onFailure().invoke(th -> log.error("При обработке webhook события произошла ошибка. Идентификатор события: " + update.getUpdateId(), th))
|
||||||
|
.onFailure().recoverWithNull()
|
||||||
.invoke(() -> log.trace("Сообщили Telegram, что вебхук событие обработано. Идентификатор события: {}", update.getUpdateId()))
|
.invoke(() -> log.trace("Сообщили Telegram, что вебхук событие обработано. Идентификатор события: {}", update.getUpdateId()))
|
||||||
.map(ignored -> Response.ok().build());
|
.map(ignored -> Response.ok().build());
|
||||||
}
|
}
|
||||||
@ -55,7 +57,7 @@ public class WebhookController {
|
|||||||
public Uni<String> testReceived(@PathParam("webhookPath") String botPath, @HeaderParam("X-Telegram-Bot-Api-Secret-Token") String secretTokenFromTelegram) {
|
public Uni<String> testReceived(@PathParam("webhookPath") String botPath, @HeaderParam("X-Telegram-Bot-Api-Secret-Token") String secretTokenFromTelegram) {
|
||||||
return Uni.createFrom().voidItem()
|
return Uni.createFrom().voidItem()
|
||||||
.onItem().invoke(() -> {
|
.onItem().invoke(() -> {
|
||||||
isTrue(pathKey.equals(botPath), accessException(ERROR_ACCESS));
|
isTrue(PATH_KEY.equals(botPath), accessException(ERROR_ACCESS));
|
||||||
isTrue(secretToken.equals(secretTokenFromTelegram), accessException(ERROR_ACCESS));
|
isTrue(secretToken.equals(secretTokenFromTelegram), accessException(ERROR_ACCESS));
|
||||||
})
|
})
|
||||||
.onItem().transform(ignore -> "Hi there " + botPath + "!");
|
.onItem().transform(ignore -> "Hi there " + botPath + "!");
|
||||||
|
Loading…
Reference in New Issue
Block a user