HTTPS.java 902 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package de.tudarmstadt.informatik.hostage.protocol;
  2. import java.util.regex.Pattern;
  3. public final class HTTPS implements Protocol {
  4. private static enum STATE {
  5. NONE, OPEN, CLOSED
  6. };
  7. private STATE state = STATE.NONE;
  8. @Override
  9. public int getPort() {
  10. return 8443;
  11. }
  12. @Override
  13. public TALK_FIRST whoTalksFirst() {
  14. return TALK_FIRST.SERVER;
  15. }
  16. @Override
  17. public String processMessage(String message) {
  18. switch (state) {
  19. case NONE:
  20. state = STATE.OPEN;
  21. return "Connection established.";
  22. case OPEN:
  23. if (Pattern.matches("^QUIT\\s?", message)) {
  24. state = STATE.CLOSED;
  25. return null;
  26. } else {
  27. return message;
  28. }
  29. default:
  30. return "Connection closed.";
  31. }
  32. }
  33. @Override
  34. public boolean isClosed() {
  35. return (state == STATE.CLOSED);
  36. }
  37. @Override
  38. public boolean isSecure() {
  39. return true;
  40. }
  41. @Override
  42. public String toString() {
  43. return "HTTPS";
  44. }
  45. }