Ein minimalistischer HTTP-Server
ulrich
2021-03-27 2eeb9e441b99e390067cb5573d858c8bd72902f1
commit | author | age
9c7249 1 /*
678b07 2   mini-server - Ein minimalistischer HTTP-Server
U 3   Copyright (C) 2021  Ulrich Hilger
9c7249 4
678b07 5   This program is free software: you can redistribute it and/or modify
U 6   it under the terms of the GNU Affero General Public License as
7   published by the Free Software Foundation, either version 3 of the
8   License, or (at your option) any later version.
9c7249 9
678b07 10   This program is distributed in the hope that it will be useful,
U 11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   GNU Affero General Public License for more details.
9c7249 14
678b07 15   You should have received a copy of the GNU Affero General Public License
U 16   along with this program.  If not, see <https://www.gnu.org/licenses/>.
9c7249 17 */
U 18
19 package de.uhilger.minsrv.handler;
20
21 import com.sun.net.httpserver.HttpExchange;
22 import com.sun.net.httpserver.HttpHandler;
23 import de.uhilger.minsrv.App;
24 import java.io.IOException;
25 import java.io.OutputStream;
26 import java.util.logging.Logger;
27
28 /**
d0bb21 29  * Ein HTTP-Handler zum Stoppen der Anwendung
U 30  * 
8abbcf 31  * @author Ulrich Hilger
9c7249 32  */
U 33 public class StopServerHandler implements HttpHandler {
34
35   @Override
36   public void handle(HttpExchange exchange) throws IOException {
37     Logger.getLogger(StopServerHandler.class.getName()).info(exchange.getRequestURI().toString());    
38     String response = "Server stopped";
39     exchange.sendResponseHeaders(200, response.length());
40     OutputStream os = exchange.getResponseBody();
41     os.write(response.getBytes());
42     os.flush();
43     os.close();
44     Logger.getLogger(StopServerHandler.class.getName()).info("stopping app.");    
45     App.stop();
46     //exchange.getHttpContext().getServer().stop(5);
47   }
48   
49   
50 }