package handlers; import com.google.gson.Gson; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import dao.DataAccessException; import request.LoadRequest; import request.LoginRequest; import result.LoadResult; import result.LoginResult; import services.LoadService; import java.io.*; import java.net.HttpURLConnection; public class LoadHandler implements HttpHandler { public void handle(HttpExchange exchange) throws IOException { try { if (exchange.getRequestMethod().equals("POST")) { Gson gson = new Gson(); DefaultHandler handler = new DefaultHandler(); InputStream reqBody = exchange.getRequestBody(); String reqData = handler.readString(reqBody); LoadRequest request = (LoadRequest) gson.fromJson(reqData, LoadRequest.class); LoadService service = new LoadService(); LoadResult result = service.load(request); if(!result.isSuccess()) { exchange.sendResponseHeaders(HttpURLConnection.HTTP_BAD_REQUEST, 0); } else { exchange.sendResponseHeaders(HttpURLConnection.HTTP_OK, 0); } OutputStream resBody = exchange.getResponseBody(); String jsonString = gson.toJson(result); handler.writeString(jsonString, resBody); resBody.close(); } } catch (IOException | DataAccessException e) { exchange.sendResponseHeaders(HttpURLConnection.HTTP_SERVER_ERROR, 0); exchange.getResponseBody().close(); e.printStackTrace(); } } }