本文整理了Java中io.vertx.ext.web.Router.errorHandler
方法的一些代码示例,展示了Router.errorHandler
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Router.errorHandler
方法的具体详情如下:
包路径:io.vertx.ext.web.Router
类名称:Router
方法名:errorHandler
[英]Specify an handler to handle an error for a particular status code. You can use to manage general errors too using status code 500. The handler will be called when the context fails and other failure handlers didn't write the reply or when an exception is thrown inside an handler. You must not use RoutingContext#next() inside the error handler This does not affect the normal failure routing logic.
[中]
代码示例来源:origin: vert-x3/vertx-web
@Test
public void testErrorInCustomErrorHandler() throws Exception {
router.route("/path").handler(rc -> rc.fail(410));
router.errorHandler(410, rc -> {
throw new RuntimeException();
});
testRequest(HttpMethod.GET, "/path", 410, "Gone");
}
}
代码示例来源:origin: vert-x3/vertx-web
@Test
public void testCustom404ErrorHandler() throws Exception {
// Default 404 handler
testRequest(HttpMethod.GET, "/blah", 404, "Not Found", "<html><body><h1>Resource not found</h1></body></html>");
router.errorHandler(404, routingContext -> routingContext
.response()
.setStatusMessage("Not Found")
.setStatusCode(404)
.end("Not Found custom error")
);
testRequest(HttpMethod.GET, "/blah", 404, "Not Found", "Not Found custom error");
}
代码示例来源:origin: vert-x3/vertx-web
@Test
public void testCustomErrorHandler() throws Exception {
router.route("/path").handler(rc -> rc.fail(410));
router.errorHandler(410, context -> context.response().setStatusCode(500).setStatusMessage("Dumb").end());
testRequest(HttpMethod.GET, "/path", 500, "Dumb");
}
代码示例来源:origin: vert-x3/vertx-web
@Test
public void testDecodingErrorCustomHandler() throws Exception {
String BAD_PARAM = "~!@\\||$%^&*()_=-%22;;%27%22:%3C%3E/?]}{";
router.errorHandler(400, context -> context.response().setStatusCode(500).setStatusMessage("Dumb").end());
router.route().handler(rc -> rc.next());
router.route("/path").handler(rc -> rc.response().setStatusCode(500).end());
testRequest(HttpMethod.GET, "/path?q=" + BAD_PARAM, 500,"Dumb");
}
代码示例来源:origin: io.vertx/vertx-rx-java
/**
* Specify an handler to handle an error for a particular status code. You can use to manage general errors too using status code 500.
* The handler will be called when the context fails and other failure handlers didn't write the reply or when an exception is thrown inside an handler.
* You <b>must not</b> use {@link io.vertx.rxjava.ext.web.RoutingContext#next} inside the error handler
* This does not affect the normal failure routing logic.
* @param statusCode status code the errorHandler is capable of handle
* @param errorHandler error handler. Note: You <b>must not</b> use {@link io.vertx.rxjava.ext.web.RoutingContext#next} inside the provided handler
* @return a reference to this, so the API can be used fluently
*/
public io.vertx.rxjava.ext.web.Router errorHandler(int statusCode, Handler<io.vertx.rxjava.ext.web.RoutingContext> errorHandler) {
io.vertx.rxjava.ext.web.Router ret = io.vertx.rxjava.ext.web.Router.newInstance(delegate.errorHandler(statusCode, new Handler<io.vertx.ext.web.RoutingContext>() {
public void handle(io.vertx.ext.web.RoutingContext event) {
errorHandler.handle(io.vertx.rxjava.ext.web.RoutingContext.newInstance(event));
}
}));
return ret;
}
代码示例来源:origin: vert-x3/vertx-rx
/**
* Specify an handler to handle an error for a particular status code. You can use to manage general errors too using status code 500.
* The handler will be called when the context fails and other failure handlers didn't write the reply or when an exception is thrown inside an handler.
* You <b>must not</b> use {@link io.vertx.rxjava.ext.web.RoutingContext#next} inside the error handler
* This does not affect the normal failure routing logic.
* @param statusCode status code the errorHandler is capable of handle
* @param errorHandler error handler. Note: You <b>must not</b> use {@link io.vertx.rxjava.ext.web.RoutingContext#next} inside the provided handler
* @return a reference to this, so the API can be used fluently
*/
public io.vertx.rxjava.ext.web.Router errorHandler(int statusCode, Handler<io.vertx.rxjava.ext.web.RoutingContext> errorHandler) {
io.vertx.rxjava.ext.web.Router ret = io.vertx.rxjava.ext.web.Router.newInstance(delegate.errorHandler(statusCode, new Handler<io.vertx.ext.web.RoutingContext>() {
public void handle(io.vertx.ext.web.RoutingContext event) {
errorHandler.handle(io.vertx.rxjava.ext.web.RoutingContext.newInstance(event));
}
}));
return ret;
}
代码示例来源:origin: io.vertx/vertx-web
@Test
public void testErrorInCustomErrorHandler() throws Exception {
router.route("/path").handler(rc -> rc.fail(410));
router.errorHandler(410, rc -> {
throw new RuntimeException();
});
testRequest(HttpMethod.GET, "/path", 410, "Gone");
}
}
代码示例来源:origin: io.vertx/vertx-web
@Test
public void testCustom404ErrorHandler() throws Exception {
// Default 404 handler
testRequest(HttpMethod.GET, "/blah", 404, "Not Found", "<html><body><h1>Resource not found</h1></body></html>");
router.errorHandler(404, routingContext -> routingContext
.response()
.setStatusMessage("Not Found")
.setStatusCode(404)
.end("Not Found custom error")
);
testRequest(HttpMethod.GET, "/blah", 404, "Not Found", "Not Found custom error");
}
代码示例来源:origin: io.vertx/vertx-web
@Test
public void testCustomErrorHandler() throws Exception {
router.route("/path").handler(rc -> rc.fail(410));
router.errorHandler(410, context -> context.response().setStatusCode(500).setStatusMessage("Dumb").end());
testRequest(HttpMethod.GET, "/path", 500, "Dumb");
}
代码示例来源:origin: io.vertx/vertx-web
@Test
public void testDecodingErrorCustomHandler() throws Exception {
String BAD_PARAM = "~!@\\||$%^&*()_=-%22;;%27%22:%3C%3E/?]}{";
router.errorHandler(400, context -> context.response().setStatusCode(500).setStatusMessage("Dumb").end());
router.route().handler(rc -> rc.next());
router.route("/path").handler(rc -> rc.response().setStatusCode(500).end());
testRequest(HttpMethod.GET, "/path?q=" + BAD_PARAM, 500,"Dumb");
}
内容来源于网络,如有侵权,请联系作者删除!