/* $Id: Dispatcher.java,v 1.1 2004/01/09 16:55:42 burkhard Exp $
 * Created on 17.06.2003
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package de.skyrix.zsp.logic.httpserver;

import java.util.Properties;

import de.skyrix.zsp.logic.Proxy;
import de.skyrix.zsp.logic.httpclient.HttpResponse;

/**
 * @author sell
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
class Dispatcher {
	private Response prepareResponse(
		String status,
		String mimeType,
		String body) {
		Response response = new Response(status, mimeType, body);

		response.addHeader("server", "SOPE 4.2/WebDAV");
		response.addHeader("DAV", "1,2");
		response.addHeader("Ms-Author-Via", "DAV");
		response.addHeader("connection", "close");
		response.addHeader("X-Dav-Error", "200 No error");
		response.addHeader("content-type", "text/xml");
		response.addHeader("cache-control", "no-cache");
		response.addHeader("pragma", "no-cache");
		response.addHeader(
			"content-length",
			((body != null) ? "" + body.length() : "0"));
		return response;
	}

	Response doProppatch(
		String uri,
		Properties header,
		Properties parms,
		String body) {

		HttpResponse httpResponse =
			Proxy.getInstance().loopThrough(uri, "PROPPATCH", header, body);

		if (httpResponse != null)
			return new Response(
				"" + httpResponse.getStatusCode(),
				HttpServer.MIME_HTML,
				httpResponse.getBody());
		else
			return new Response(
				HttpServer.HTTP_NOTIMPLEMENTED,
				HttpServer.MIME_HTML,
				"");
	}

	Response doBCopy(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}

	Response doBDelete(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doBMove(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doBPropfind(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doBProppatch(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doCopy(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doDelete(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doLock(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doMkCol(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doMove(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doNotify(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doPoll(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doSearch(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doSubscribe(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doUnlock(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}
	Response doUnsubscribe(
		String uri,
		Properties header,
		Properties parms,
		String body) {
		return new Response(
			HttpServer.HTTP_NOTIMPLEMENTED,
			HttpServer.MIME_HTML,
			"");
	}

}
