public void run() { HTTPXMessageRefactorer refactorer = new HTTPXMessageRefactorer(); HTTPXActionMessage request = null; try { request = refactorer.createActionMessageFromStream( this.toStream(packet.getData(), packet.getLength())); } catch (HTTPXProtocolViolationException e) { LOGGER.error(e); e.printStackTrace(); } catch (IOException e) { LOGGER.error(e); e.printStackTrace(); } request.setPort(packet.getPort()); request.setHost(packet.getAddress().getHostName()); LOGGER.debug(HTTPXConstants.HTTPU + " Request:\r\n" + request.toString()); boolean bFound = false; Path tmpPath = new Path(request.getPath().getString()); try { do { for (Tuple element : registration) { if ((element.handler instanceof HTTPXPlainActionMessageHandler) && element.filter.doesPass( request.getProtocol(), request.getHost(), request.getPort(), tmpPath, request.getQueryAsString())) { LOGGER.debug("void Handler was found : " + element.handler); ((HTTPXPlainActionMessageHandler) element.handler).handlePlain(request); bFound = true; break; } } // for if (!bFound) { String strTmp = tmpPath.getString(); tmpPath.removeLastToken(); // check wheter path is root if (strTmp.equalsIgnoreCase(tmpPath.getString())) { break; } } } while (!bFound); } catch (IOException e) { LOGGER.error(e); e.printStackTrace(); } }