Rest server Grundgerüst funktioniert
This commit is contained in:
		
							
								
								
									
										8
									
								
								.idea/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								.idea/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
# Default ignored files
 | 
			
		||||
/shelf/
 | 
			
		||||
/workspace.xml
 | 
			
		||||
# Datasource local storage ignored files
 | 
			
		||||
/../../../../../../../../:\Users\georg\OneDrive\FH\SWE\RestServer\.idea/dataSources/
 | 
			
		||||
/dataSources.local.xml
 | 
			
		||||
# Editor-based HTTP Client requests
 | 
			
		||||
/httpRequests/
 | 
			
		||||
							
								
								
									
										23
									
								
								.idea/compiler.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.idea/compiler.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project version="4">
 | 
			
		||||
  <component name="CompilerConfiguration">
 | 
			
		||||
    <option name="DEFAULT_COMPILER" value="Javac" />
 | 
			
		||||
    <resourceExtensions />
 | 
			
		||||
    <wildcardResourcePatterns>
 | 
			
		||||
      <entry name="!?*.java" />
 | 
			
		||||
      <entry name="!?*.form" />
 | 
			
		||||
      <entry name="!?*.class" />
 | 
			
		||||
      <entry name="!?*.groovy" />
 | 
			
		||||
      <entry name="!?*.scala" />
 | 
			
		||||
      <entry name="!?*.flex" />
 | 
			
		||||
      <entry name="!?*.kt" />
 | 
			
		||||
      <entry name="!?*.clj" />
 | 
			
		||||
    </wildcardResourcePatterns>
 | 
			
		||||
    <annotationProcessing>
 | 
			
		||||
      <profile default="true" name="Default" enabled="false">
 | 
			
		||||
        <processorPath useClasspath="true" />
 | 
			
		||||
      </profile>
 | 
			
		||||
    </annotationProcessing>
 | 
			
		||||
  </component>
 | 
			
		||||
</project>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								.idea/description.html
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.idea/description.html
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
<html>Simple <b>JavaFX 2.0</b> application that includes simple .fxml file with attached controller and Main class to quick start. Artifact to build JavaFX application is provided.
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										6
									
								
								.idea/encodings.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.idea/encodings.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project version="4">
 | 
			
		||||
  <component name="Encoding">
 | 
			
		||||
    <file url="PROJECT" charset="UTF-8" />
 | 
			
		||||
  </component>
 | 
			
		||||
</project>
 | 
			
		||||
							
								
								
									
										4
									
								
								.idea/gradle.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.idea/gradle.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project version="4">
 | 
			
		||||
  <component name="GradleMigrationSettings" migrationVersion="1" />
 | 
			
		||||
</project>
 | 
			
		||||
							
								
								
									
										9
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project version="4">
 | 
			
		||||
  <component name="ProjectKey">
 | 
			
		||||
    <option name="state" value="project://e79810c8-c5c8-43b1-b19c-90c1f4095425" />
 | 
			
		||||
  </component>
 | 
			
		||||
  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
 | 
			
		||||
    <output url="file://$PROJECT_DIR$/out" />
 | 
			
		||||
  </component>
 | 
			
		||||
</project>
 | 
			
		||||
							
								
								
									
										8
									
								
								.idea/modules.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								.idea/modules.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project version="4">
 | 
			
		||||
  <component name="ProjectModuleManager">
 | 
			
		||||
    <modules>
 | 
			
		||||
      <module fileurl="file://$PROJECT_DIR$/RestServer.iml" filepath="$PROJECT_DIR$/RestServer.iml" />
 | 
			
		||||
    </modules>
 | 
			
		||||
  </component>
 | 
			
		||||
</project>
 | 
			
		||||
							
								
								
									
										125
									
								
								.idea/uiDesigner.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								.idea/uiDesigner.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,125 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project version="4">
 | 
			
		||||
  <component name="Palette2">
 | 
			
		||||
    <group name="Swing">
 | 
			
		||||
      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
 | 
			
		||||
        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
 | 
			
		||||
        <initial-values>
 | 
			
		||||
          <property name="text" value="Button" />
 | 
			
		||||
        </initial-values>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
 | 
			
		||||
        <initial-values>
 | 
			
		||||
          <property name="text" value="RadioButton" />
 | 
			
		||||
        </initial-values>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
 | 
			
		||||
        <initial-values>
 | 
			
		||||
          <property name="text" value="CheckBox" />
 | 
			
		||||
        </initial-values>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
 | 
			
		||||
        <initial-values>
 | 
			
		||||
          <property name="text" value="Label" />
 | 
			
		||||
        </initial-values>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
 | 
			
		||||
          <preferred-size width="150" height="-1" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
 | 
			
		||||
          <preferred-size width="150" height="-1" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
 | 
			
		||||
          <preferred-size width="150" height="-1" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
 | 
			
		||||
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
 | 
			
		||||
          <preferred-size width="150" height="50" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
 | 
			
		||||
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
 | 
			
		||||
          <preferred-size width="150" height="50" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
 | 
			
		||||
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
 | 
			
		||||
          <preferred-size width="150" height="50" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
 | 
			
		||||
          <preferred-size width="150" height="50" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
 | 
			
		||||
          <preferred-size width="150" height="50" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
 | 
			
		||||
          <preferred-size width="150" height="50" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
 | 
			
		||||
          <preferred-size width="200" height="200" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
 | 
			
		||||
          <preferred-size width="200" height="200" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
 | 
			
		||||
          <preferred-size width="-1" height="20" />
 | 
			
		||||
        </default-constraints>
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
 | 
			
		||||
      </item>
 | 
			
		||||
      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
 | 
			
		||||
        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
 | 
			
		||||
      </item>
 | 
			
		||||
    </group>
 | 
			
		||||
  </component>
 | 
			
		||||
</project>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										7
									
								
								.idea/vcs.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								.idea/vcs.xml
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<project version="4">
 | 
			
		||||
  <component name="VcsDirectoryMappings">
 | 
			
		||||
    <mapping directory="" vcs="" />
 | 
			
		||||
  </component>
 | 
			
		||||
</project>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								RestServer.iml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								RestServer.iml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<module type="JAVA_MODULE" version="4">
 | 
			
		||||
  <component name="NewModuleRootManager" inherit-compiler-output="true">
 | 
			
		||||
    <exclude-output />
 | 
			
		||||
    <content url="file://$MODULE_DIR$">
 | 
			
		||||
      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
 | 
			
		||||
    </content>
 | 
			
		||||
    <orderEntry type="inheritedJdk" />
 | 
			
		||||
    <orderEntry type="sourceFolder" forTests="false" />
 | 
			
		||||
  </component>
 | 
			
		||||
</module>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								out/production/RestServer/at/reisinger/Main.class
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								out/production/RestServer/at/reisinger/Main.class
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								out/production/RestServer/at/reisinger/server/Main.class
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								out/production/RestServer/at/reisinger/server/Main.class
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										27
									
								
								src/at/reisinger/server/Main.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/at/reisinger/server/Main.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
package at.reisinger.server;
 | 
			
		||||
 | 
			
		||||
import at.reisinger.server.thread.ClientThread;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.net.ServerSocket;
 | 
			
		||||
import java.net.Socket;
 | 
			
		||||
 | 
			
		||||
public class Main {
 | 
			
		||||
    static final int port = 80;
 | 
			
		||||
 | 
			
		||||
    public static void main(String[] args) {
 | 
			
		||||
        System.out.println("Starte Server auf Port 80");
 | 
			
		||||
        ServerSocket serverSocket = null;
 | 
			
		||||
        try {
 | 
			
		||||
            serverSocket = new ServerSocket(port);
 | 
			
		||||
 | 
			
		||||
            int id = 0;
 | 
			
		||||
            while (true){
 | 
			
		||||
                Socket socket = serverSocket.accept();
 | 
			
		||||
                new ClientThread(id, socket).start();
 | 
			
		||||
            }
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										126
									
								
								src/at/reisinger/server/thread/ClientThread.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								src/at/reisinger/server/thread/ClientThread.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,126 @@
 | 
			
		||||
package at.reisinger.server.thread;
 | 
			
		||||
 | 
			
		||||
import java.io.*;
 | 
			
		||||
import java.net.Socket;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class ClientThread extends Thread{
 | 
			
		||||
    private Socket       socket;
 | 
			
		||||
    private int          id;
 | 
			
		||||
    private PrintStream out;
 | 
			
		||||
    private InputStream in;
 | 
			
		||||
    private String       cmd;
 | 
			
		||||
    private String       url;
 | 
			
		||||
    private String       httpversion;
 | 
			
		||||
    private StringBuilder rqBuilder;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Neuer Client wird erstellt
 | 
			
		||||
     * @param id Id des Clients
 | 
			
		||||
     * @param socket Socket des Clients
 | 
			
		||||
     */
 | 
			
		||||
    public ClientThread(int id, Socket socket) {
 | 
			
		||||
        this.id = id;
 | 
			
		||||
        this.socket = socket;
 | 
			
		||||
        this.rqBuilder = new StringBuilder();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Hauptmethode des ClientThreads
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public void run() {
 | 
			
		||||
        try{
 | 
			
		||||
            System.out.println("Socket von Client #" + this.id + " wurde gestartet!");
 | 
			
		||||
            out = new PrintStream(socket.getOutputStream());
 | 
			
		||||
            in = socket.getInputStream();
 | 
			
		||||
            getRequest();
 | 
			
		||||
            createResponse();
 | 
			
		||||
            socket.close();
 | 
			
		||||
            System.out.println("Socket von Client #" + this.id + " wurde geschlossen!");
 | 
			
		||||
        }catch (IOException e){
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Erstellt eine Respone Message anhand des gegebenen Requests
 | 
			
		||||
     */
 | 
			
		||||
    private void createResponse() {
 | 
			
		||||
        if (this.url != null) {
 | 
			
		||||
            if (this.cmd.equals("GET")) {
 | 
			
		||||
                if (this.url.startsWith("/test")) {
 | 
			
		||||
                    out.print("HTTP/1.0 200 OK\r\n");
 | 
			
		||||
                    out.print("Date: Fri, 31 Dec 1999 23:59:59 GMT\r\n");
 | 
			
		||||
                    out.print("Server: Apache/0.8.4\r\n");
 | 
			
		||||
                    out.print("Content-Type: text/html\r\n");
 | 
			
		||||
                    out.print("Content-Length: 59\r\n");
 | 
			
		||||
                    out.print("Expires: Sat, 01 Jan 2000 00:59:59 GMT\r\n");
 | 
			
		||||
                    out.print("Last-modified: Fri, 09 Aug 1996 14:21:40 GMT\r\n");
 | 
			
		||||
                    out.print("\r\n");
 | 
			
		||||
                    out.print("<TITLE>Test</TITLE>");
 | 
			
		||||
                    out.print("<P>Das ist ein Test</P>");
 | 
			
		||||
                } else if (this.url.startsWith("/")) {
 | 
			
		||||
                    out.print("HTTP/1.0 200 OK\r\n");
 | 
			
		||||
                    out.print("Date: Fri, 31 Dec 1999 23:59:59 GMT\r\n");
 | 
			
		||||
                    out.print("Server: Apache/0.8.4\r\n");
 | 
			
		||||
                    out.print("Content-Type: text/html\r\n");
 | 
			
		||||
                    out.print("Content-Length: 59\r\n");
 | 
			
		||||
                    out.print("Expires: Sat, 01 Jan 2000 00:59:59 GMT\r\n");
 | 
			
		||||
                    out.print("Last-modified: Fri, 09 Aug 1996 14:21:40 GMT\r\n");
 | 
			
		||||
                    out.print("\r\n");
 | 
			
		||||
                    out.print("<TITLE>Hello World!</TITLE>");
 | 
			
		||||
                    out.print("<P>Hallo Welt!</P>");
 | 
			
		||||
                }
 | 
			
		||||
            }else if (this.cmd.equals("POST")){
 | 
			
		||||
 | 
			
		||||
            }else if (this.cmd.equals("PUT")){
 | 
			
		||||
 | 
			
		||||
            }else if (this.cmd.equals("DELETE")){
 | 
			
		||||
 | 
			
		||||
            }else{
 | 
			
		||||
                /*
 | 
			
		||||
 | 
			
		||||
                ERROR senden
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                 */
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Holt den HTTP Request
 | 
			
		||||
     */
 | 
			
		||||
    private void getRequest() throws IOException {
 | 
			
		||||
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
 | 
			
		||||
        String line;
 | 
			
		||||
        while (!(line = bufferedReader.readLine()).isBlank()) {
 | 
			
		||||
            rqBuilder.append(line + "\r\n");
 | 
			
		||||
        }
 | 
			
		||||
        String request = rqBuilder.toString();
 | 
			
		||||
        String[] requestsLines = request.split("\r\n");
 | 
			
		||||
        String[] requestLine = requestsLines[0].split(" ");
 | 
			
		||||
        String method = requestLine[0];
 | 
			
		||||
        String path = requestLine[1];
 | 
			
		||||
        String version = requestLine[2];
 | 
			
		||||
        String host = requestsLines[1].split(" ")[1];
 | 
			
		||||
 | 
			
		||||
        this.url = path;
 | 
			
		||||
        this.httpversion = version;
 | 
			
		||||
        this.cmd = method;
 | 
			
		||||
 | 
			
		||||
        List<String> headers = new ArrayList<>();
 | 
			
		||||
        for (int h = 2; h < requestsLines.length; h++) {
 | 
			
		||||
            String header = requestsLines[h];
 | 
			
		||||
            headers.add(header);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        String accessLog = String.format("Client %s, method %s, path %s, version %s, host %s, headers %s",
 | 
			
		||||
                socket.toString(), method, path, version, host, headers.toString());
 | 
			
		||||
        System.out.println(accessLog);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user