package de.tudarmstadt.informatik.hostage.protocol; import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; public final class HTTP implements Protocol { @Override public int getPort() { return 80; } @Override public TALK_FIRST whoTalksFirst() { return TALK_FIRST.CLIENT; } @Override public List processMessage(String message) { List response = new ArrayList(); if(!message.contains("HTTP/1.1")){ response.add("HTTP/1.1 505 HTTP Version not supported"); } else if(message.contains("GET")) { response.add(header+html); } else if(message.contains("HEAD")) { response.add(header); } else { response.add("HTTP/1.1 501 Not Implemented"); } return response; } @Override public boolean isClosed() { return false; } @Override public boolean isSecure() { return false; } @Override public Class getType() { return String.class; } @Override public String toString() { return "HTTP"; } private String header = "HTTP/1.1 200 OK\r\n" + "Date: Mon, 01 Jul 2013 18:27:55 GMT\r\n" + "Server: Apache/2.2.22 (Debian)\r\n" + "X-Powered-By: PHP/5.4.4.-14\r\n" + "Vary: Accept-Encoding\r\n" + "Content-Length: 173\r\n" + "Keep-Alive: timeout=5, max=100\r\n" + "Connection: Keep-Alive\r\n" + "Content-Type: text/html\r\n" + "\r\n"; private String html = "\n" + "\n" + "\n" + "\n" + "Test successful\n" + "\n" + "\n" + "

Test successful

\n" + "

Congratulations.

\n" + "\n" + ""; }