in src/main/java/org/apache/sling/servlethelpers/internalrequests/InternalRequest.java [156:194]
public final InternalRequest execute() throws IOException {
if(request != null) {
throw new IOException("Request was already executed");
}
final Resource resource = getExecutionResource();
request = new MockSlingHttpServletRequest(resourceResolver) {
@Override
protected MockRequestPathInfo newMockRequestPathInfo() {
MockRequestPathInfo rpi = super.newMockRequestPathInfo();
rpi.setResourcePath(path);
rpi.setExtension(extension);
rpi.setSelectorString(selectorString);
return rpi;
}
@Override
public BufferedReader getReader() {
if(bodyReader != null) {
return new BufferedReader(bodyReader);
} else {
return super.getReader();
}
}
};
request.setMethod(requestMethod);
request.setContentType(contentType);
request.setResource(resource);
request.setParameterMap(parameters);
response = new MockSlingHttpServletResponse();
MDC.put(MDC_KEY, toString());
try {
delegateExecute(request, response, resourceResolver);
} catch(ServletException sx) {
throw new IOException("ServletException in execute()", sx);
}
return this;
}