From 31c700b7388edb3e31e4b8e1ee9ffb635141e7b6 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Fri, 11 Dec 2015 23:53:24 +0100 Subject: [PATCH] Added conditions for some robustness --- Zutil.jar | Bin 1185544 -> 1185622 bytes src/zutil/net/http/HttpServer.java | 4 ++-- src/zutil/parser/Templator.java | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) mode change 100644 => 100755 src/zutil/net/http/HttpServer.java diff --git a/Zutil.jar b/Zutil.jar index b5f2a06537a52d37c1fbf2eb2f59e083218daaf1..445d14dcace140eba0acb546fac94e77c9d9a8e2 100755 GIT binary patch delta 29685 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 delta 29857 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 a(pi~^h)}pwxxC-SwKh^)gRD3>S@nO=Di*i^ diff --git a/src/zutil/net/http/HttpServer.java b/src/zutil/net/http/HttpServer.java old mode 100644 new mode 100755 index 3ecd354..f6c238b --- a/src/zutil/net/http/HttpServer.java +++ b/src/zutil/net/http/HttpServer.java @@ -231,7 +231,7 @@ public class HttpServer extends ThreadedTCPNetworkServer{ out.setHeader( "Content-Type", "text/html" ); out.setCookie( "session_id", ""+client_session.get("session_id") ); - if( !parser.getRequestURL().isEmpty() && pages.containsKey(parser.getRequestURL()) ){ + if( parser.getRequestURL() != null && !parser.getRequestURL().isEmpty() && pages.containsKey(parser.getRequestURL()) ){ pages.get(parser.getRequestURL()).respond(out, parser, client_session, cookie, request); logRequest(parser, client_session, cookie, request, time); } @@ -247,7 +247,7 @@ public class HttpServer extends ThreadedTCPNetworkServer{ //******************************************************************************** } catch (Exception e) { - logger.log(Level.WARNING, "500 Internal Server Error", e); + logger.log(Level.SEVERE, "500 Internal Server Error", e); try { if (!out.isHeaderSent()) out.setStatusCode(500); diff --git a/src/zutil/parser/Templator.java b/src/zutil/parser/Templator.java index 5d18bc3..616927d 100755 --- a/src/zutil/parser/Templator.java +++ b/src/zutil/parser/Templator.java @@ -101,6 +101,8 @@ public class Templator { * be regenerated if the file changes. */ public Templator(File tmpl) throws IOException { + if(tmpl == null) + throw new IllegalArgumentException("File can not be null!"); this.data = new HashMap(); this.file = tmpl; parseTemplate(FileUtil.getContent(file));