package loon.web.server.mini; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import java.util.ArrayList; public class WebClient implements Runnable { private Socket clientSocket; private BufferedReader in; private PrintWriter out; public WebClient(Socket clientSocket) throws IOException { this.clientSocket = clientSocket; in = new BufferedReader(new InputStreamReader( clientSocket.getInputStream())); out = new PrintWriter(clientSocket.getOutputStream(), true); } @Override public void run() { ArrayList<String> message = new ArrayList<String>(); String line; String post = ""; try { while ((line = in.readLine()) != null) { if (line.length() == 0) { for (String current : message) { if (current.startsWith("Content-Length")) { if (current.split(": ").length >= 2) { char[] buffer = new char[Integer .parseInt(current.split(": ")[1])]; in.read(buffer, 0, Integer.parseInt(current .split(": ")[1])); post = new String(buffer); } } } break; } message.add(line); } } catch (IOException e) { e.printStackTrace(); } Request request; try { request = new Request(message, post); } catch (Exception e1) { return; } if (message != null) { if (message.size() > 0) { try { System.out.println(request==null); Server.getServer().process(clientSocket, request); } catch (IOException e) { } } } try { out.close(); in.close(); clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } } }