@Override
	public void handle() throws Exception {
		if ((this.requestThread.verb == HTTPVerb.PROPFIND)
				&& this.requestThread.path.equals("/")) {
			this.handleDAVIndex();
		} else if ((this.requestThread.verb == HTTPVerb.PROPFIND)
				&& (this.requestThread.path.equals("/shares") || this.requestThread.path
						.equals("/shares/"))) {
			// check for propfind here if it is for /shares
			this.handleDAVShareIndex();
		} else if (this.requestThread.verb == HTTPVerb.PROPFIND) {
			SharedEntity sharedEntity = SharedEntity
					.requestPathToSharedEntity(this.requestThread.path);

			String depth = this.requestThread.getHeader("Depth", "0");
			
			this.handleDAVPropfind(sharedEntity, depth);

		} else {
			// should not happen
			this.requestThread.close();
		}

	}