From 26352ef17e7dddf9fbae92772cb813bb16aaae20 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Mon, 1 May 2017 13:19:43 +0300 Subject: [PATCH] WebInterface: favicon --- webinterface/build.gradle | 2 +- .../java/asys/webinterface/IndexHandler.java | 20 ++++++++++++++++++ .../src/main/resources/static/favicon.ico | Bin 0 -> 360414 bytes 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 webinterface/src/main/resources/static/favicon.ico diff --git a/webinterface/build.gradle b/webinterface/build.gradle index 5001067..1c469b8 100644 --- a/webinterface/build.gradle +++ b/webinterface/build.gradle @@ -1,5 +1,5 @@ group = 'asys' -version = '0.18-SNAPSHOT' +version = '0.18.1-SNAPSHOT' buildscript { repositories { diff --git a/webinterface/src/main/java/asys/webinterface/IndexHandler.java b/webinterface/src/main/java/asys/webinterface/IndexHandler.java index 822249d..ffc0c28 100644 --- a/webinterface/src/main/java/asys/webinterface/IndexHandler.java +++ b/webinterface/src/main/java/asys/webinterface/IndexHandler.java @@ -35,6 +35,11 @@ public class IndexHandler implements HttpHandler { @Override public void handle(HttpExchange httpExchange) throws IOException { + if (httpExchange.getRequestURI().getPath().equals("/favicon.ico")) { + favicon(httpExchange); + return; + } + String[] requestURIParts = getRequestURIParts(httpExchange.getRequestURI()); if (requestURIParts.length > 0) { logger.debug("Module request: {}", requestURIParts[0]); @@ -79,4 +84,19 @@ public class IndexHandler implements HttpHandler { return result; } } + + private void favicon(HttpExchange httpExchange) throws IOException { + httpExchange.getResponseHeaders().add("Context-Type","image/x-icon"); + httpExchange.sendResponseHeaders(200, 0); + OutputStream outputStream = httpExchange.getResponseBody(); + InputStream inputStream = getClass().getResourceAsStream("/static/favicon.ico"); + final byte[] buffer = new byte[0x10000]; + int len; + while((len = inputStream.read(buffer)) > 0) { + outputStream.write(buffer, 0, len); + } + outputStream.flush(); + outputStream.close(); + inputStream.close(); + } } diff --git a/webinterface/src/main/resources/static/favicon.ico b/webinterface/src/main/resources/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..56015e43a552f7a6f3bb2bc313d452dcd2e3052e GIT binary patch literal 360414 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 literal 0 HcmV?d00001