private HttpServletResponse createLoggingResponseWrapper( HttpServletRequest request, HttpServletResponse response )
throws IOException, FileNotFoundException {
OwsGlobalConfigLoader loader = workspace.getNewWorkspace().getInitializable( OwsGlobalConfigLoader.class );
Boolean conf = mainConfig.getRequestLogging().isOnlySuccessful();
boolean onlySuccessful = conf != null && conf;
if ( "POST".equals( request.getMethod() ) && loader.getRequestLogger() != null ) {
String dir = mainConfig.getRequestLogging().getOutputDirectory();
File file;
if ( dir == null ) {
file = createTempFile( "request", ".body" );
} else {
File directory = new File( dir );
if ( !directory.exists() ) {
directory.mkdirs();
}
file = createTempFile( "request", ".body", directory );
}
InputStream is = new LoggingInputStream( request.getInputStream(), new FileOutputStream( file ) );
response = new LoggingHttpResponseWrapper( request.getRequestURL().toString(), response, file,
onlySuccessful, loader.getRequestLogger(), is );
} else {
response = new LoggingHttpResponseWrapper( response, request.getQueryString(), onlySuccessful,
loader.getRequestLogger(), null );
}
return response;
}