logger.debug("URL twisting is enabled.");
targetHttpReqURI = twistInfo.getTwistedValue(originalHttpReqURI);
}
}
Url serviceUrl = new Url(targetHttpReqURI);
Service service = store.getServiceByUrl(serviceUrl.getFullUrl());
// ************************************************************************
// STEP #2) Process your original request.
// ************************************************************************
RequestFromClient request = new RequestFromClient(originalHttpReqFromClient);
// ************************************************************************
// STEP #3) JAVA and JSON implemented Inspectors
// ************************************************************************
PluginStore pluginStore = PluginStore.getInstance();
RequestInspectionResult inspectionMessage = pluginStore.processRequestInspectors(service, request);
// ************************************************************************
// STEP #4) Get the Response (static,dynamic, or proxy).
// ************************************************************************
service.setHttpMethod(originalHttpReqFromClient.getMethod());
ResponseFromService response = service.execute(request, serviceUrl);
// ************************************************************************
// STEP #5) If twisting was enabled, let's be sure to set the original URL
// ************************************************************************
if (!originalHttpReqURI.equalsIgnoreCase(targetHttpReqURI)) {
response.setOriginalRequestUrlBeforeTwisting(new Url(originalHttpReqURI));
}
logRequestAsFulfilled(service, request, response, originalHttpReqFromClient.getRemoteAddr(), inspectionMessage);
try {
// Wait for a X hang time seconds.