@Override
	public void handle() throws Exception {
		// den content parsen. wir wollen ja auch tolle hosts haben :)
		if (this.requestThread.hasClientContent()
				&& (this.requestThread.verb == HTTPVerb.POST)
				&& (this.requestThread.getClientContent() != null)
				&& (this.requestThread.getClientContent().length > 0)
				&& (!this.requestThread.getHeader(RequestThread.X_P300_WE_ARE,
						"").equals(Configuration.instance().getUniqueHash()))) {
			ByteArrayInputStream bais = new ByteArrayInputStream(
					this.requestThread.getClientContent());
			BufferedReader reader = new BufferedReader(new InputStreamReader(
					bais));
			HostFinderThread hft = MainDialog.hostFinderThread;

			String line = reader.readLine();
			while (line != null) {
				//if (line.contains(" - "))
				//	D.out ("Outgoing req: from " + this.requestThread
				//			.getRemoteIP() + " received " + line);
				
				hft.parseHTTPMulticastLine(line, this.requestThread
						.getRemoteIP());

				// D.out ("Parsed line " + line);

				line = reader.readLine();
			}

			reader.close();

		}
		else
		{
			D.out ("Hostfinder: Ignoring incoming request from " + this.requestThread.getRemoteIP());
		}

		this.requestThread.httpStatus(200, "OK");
		this.requestThread.httpSendWeAreHeader();

		this.requestThread.httpContents();

		HostMap hm = MainDialog.hostMap;
		String kh = hm.writeOutKnownHosts();
		this.requestThread.write(kh);

		this.requestThread.close();
	}