aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrumeet <yuuta@yuuta.moe>2021-03-28 13:42:46 -0700
committerTrumeet <yuuta@yuuta.moe>2021-03-28 13:42:46 -0700
commit53354f03d0dc8342c35073881edf78452637d68b (patch)
tree94d8e5a2276a3215b1ef40de708d60a2e9946369
parent9a32f7f1973e1c8159e42747f2e87ba65da42a77 (diff)
downloaddn42peering-53354f03d0dc8342c35073881edf78452637d68b.tar
dn42peering-53354f03d0dc8342c35073881edf78452637d68b.tar.gz
dn42peering-53354f03d0dc8342c35073881edf78452637d68b.tar.bz2
dn42peering-53354f03d0dc8342c35073881edf78452637d68b.zip
fix(central): handle HTTPException at a higher level and remove some printStackTrace callsv1.8
-rw-r--r--central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java37
-rw-r--r--central/src/main/java/moe/yuuta/dn42peering/portal/HTTPPortalVerticle.java4
2 files changed, 18 insertions, 23 deletions
diff --git a/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java b/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java
index e7a1966..052f97d 100644
--- a/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java
+++ b/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java
@@ -214,9 +214,7 @@ public class ManageHandler implements ISubRouter {
this.handleProvisionResult(peerService, peer, ar));
})
.onFailure(err -> {
- if (err instanceof HTTPException) {
- ctx.response().setStatusCode(((HTTPException) err).code).end();
- } else if (err instanceof FormException) {
+ if (err instanceof FormException) {
renderForm(engine, nodeService,
true, asn,
((Peer) ((FormException) err).data),
@@ -231,7 +229,7 @@ public class ManageHandler implements ISubRouter {
}
});
} else {
- logger.error("Cannot add peer.", err);
+ if(!(err instanceof HTTPException)) logger.error("Cannot add peer.", err);
ctx.fail(err);
}
});
@@ -262,7 +260,8 @@ public class ManageHandler implements ISubRouter {
.putHeader(HttpHeaders.CONTENT_TYPE, "text/html")
.end(res.result());
} else {
- res.cause().printStackTrace();
+ if(!(res.cause() instanceof HTTPException)) logger.error(String.format("Cannot show peer %s", id),
+ res.cause());
ctx.fail(res.cause());
}
});
@@ -387,9 +386,7 @@ public class ManageHandler implements ISubRouter {
this.handleProvisionResult(peerService, inPeer, ar));
})
.onFailure(err -> {
- if (err instanceof HTTPException) {
- ctx.response().setStatusCode(((HTTPException) err).code).end();
- } else if (err instanceof FormException) {
+ if (err instanceof FormException) {
final Peer peer = (Peer) ((FormException) err).data;
if(peer != null) {
// The exception may be generated from parseForm
@@ -414,7 +411,7 @@ public class ManageHandler implements ISubRouter {
}
});
} else {
- logger.error("Cannot edit peer.", err);
+ if(!(err instanceof HTTPException)) logger.error("Cannot edit peer.", err);
ctx.fail(err);
}
});
@@ -443,12 +440,8 @@ public class ManageHandler implements ISubRouter {
.putHeader("Location", "/manage")
.end())
.onFailure(err -> {
- if (err instanceof HTTPException) {
- ctx.response().setStatusCode(((HTTPException) err).code).end();
- } else {
- logger.error("Cannot delete peer.", err);
- ctx.fail(err);
- }
+ if(!(err instanceof HTTPException)) logger.error("Cannot delete peer.", err);
+ ctx.fail(err);
});
});
@@ -503,9 +496,7 @@ public class ManageHandler implements ISubRouter {
.end();
})
.onFailure(err -> {
- if (err instanceof HTTPException) {
- ctx.response().setStatusCode(((HTTPException) err).code).end();
- } else if (err instanceof FormException) {
+ if (err instanceof FormException) {
renderChangepw(engine, asn,
Arrays.asList(((FormException) err).errors),
res -> {
@@ -519,7 +510,7 @@ public class ManageHandler implements ISubRouter {
}
});
} else {
- logger.error("Cannot change password.", err);
+ if(!(err instanceof HTTPException)) logger.error("Cannot change password.", err);
ctx.fail(err);
}
});
@@ -564,9 +555,7 @@ public class ManageHandler implements ISubRouter {
.end();
})
.onFailure(err -> {
- if (err instanceof HTTPException) {
- ctx.response().setStatusCode(((HTTPException) err).code).end();
- } else if (err instanceof FormException) {
+ if (err instanceof FormException) {
renderDA(engine, asn,
Arrays.asList(((FormException) err).errors),
res -> {
@@ -610,7 +599,9 @@ public class ManageHandler implements ISubRouter {
.putHeader(HttpHeaders.CONTENT_TYPE, "text/html")
.end(res.result());
} else {
- res.cause().printStackTrace();
+ if(!(res.cause() instanceof HTTPException))
+ logger.error(String.format("Cannot render show configuration %s", id),
+ res.cause());
ctx.fail(res.cause());
}
});
diff --git a/central/src/main/java/moe/yuuta/dn42peering/portal/HTTPPortalVerticle.java b/central/src/main/java/moe/yuuta/dn42peering/portal/HTTPPortalVerticle.java
index e124c35..c68447a 100644
--- a/central/src/main/java/moe/yuuta/dn42peering/portal/HTTPPortalVerticle.java
+++ b/central/src/main/java/moe/yuuta/dn42peering/portal/HTTPPortalVerticle.java
@@ -38,6 +38,10 @@ public class HTTPPortalVerticle extends AbstractVerticle {
router.mountSubRouter("/asn", new ASNHandler().mount(vertx));
router.mountSubRouter("/manage", new ManageHandler().mount(vertx));
router.errorHandler(500, ctx -> {
+ if(ctx.failure() instanceof HTTPException) {
+ ctx.response().setStatusCode(((HTTPException) ctx.failure()).code).end();
+ return;
+ }
logger.error("Generic Error", ctx.failure());
});
vertx.createHttpServer()