com.zepben.vertxutils.routing.ExceptionHandler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vertx-utils Show documentation
Show all versions of vertx-utils Show documentation
Helpers and utils for working with Vert.x in Zepben projects.
/*
* Copyright 2020 Zeppelin Bend Pty Ltd
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.zepben.vertxutils.routing;
import io.vertx.core.Handler;
import io.vertx.ext.web.RoutingContext;
import java.util.function.BiConsumer;
public class ExceptionHandler implements Handler {
private final Class tClass;
private final BiConsumer handler;
ExceptionHandler(Class tClass, BiConsumer handler) {
this.tClass = tClass;
this.handler = handler;
}
@Override
public void handle(RoutingContext context) {
if (!tClass.isInstance(context.failure())) {
context.next();
return;
}
handle(tClass.cast(context.failure()), context);
}
private void handle(T throwable, RoutingContext handler) {
this.handler.accept(tClass.cast(throwable), handler);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy