mirror of https://github.com/apache/archiva.git
[MRM-468] incorrect URL reported from failures in WebDAV
Corrected locally the error message being reported by it.could.webdav git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@584986 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f19ca1f500
commit
1e78efcf9f
|
@ -46,6 +46,7 @@ import java.io.File;
|
|||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
import javax.servlet.ServletConfig;
|
||||
import javax.servlet.ServletException;
|
||||
|
@ -161,8 +162,65 @@ public class ProxiedDavServer
|
|||
|
||||
// TODO: [MRM-524] determine http caching options for other types of files (artifacts, sha1, md5, snapshots)
|
||||
|
||||
if( resourceExists( request ) )
|
||||
{
|
||||
davServer.process( request, response );
|
||||
}
|
||||
else
|
||||
{
|
||||
respondResourceMissing( request, response );
|
||||
}
|
||||
}
|
||||
|
||||
private void respondResourceMissing( DavServerRequest request, HttpServletResponse response )
|
||||
{
|
||||
response.setStatus( HttpServletResponse.SC_NOT_FOUND );
|
||||
|
||||
try
|
||||
{
|
||||
StringBuffer missingUrl = new StringBuffer();
|
||||
missingUrl.append( request.getRequest().getScheme() ).append( "://" );
|
||||
missingUrl.append( request.getRequest().getServerName() ).append( ":" );
|
||||
missingUrl.append( request.getRequest().getServerPort() );
|
||||
missingUrl.append( request.getRequest().getServletPath() );
|
||||
// missingUrl.append( request.getRequest().getPathInfo() );
|
||||
|
||||
String message = "Error 404 Not Found";
|
||||
|
||||
PrintWriter out = new PrintWriter( response.getOutputStream() );
|
||||
|
||||
response.setContentType( "text/html; charset=\"UTF-8\"" );
|
||||
|
||||
out.println( "<html>" );
|
||||
out.println( "<head><title>" + message + "</title></head>" );
|
||||
out.println( "<body>" );
|
||||
|
||||
out.print( "<p><h1>" );
|
||||
out.print( message );
|
||||
out.println( "</h1></p>" );
|
||||
|
||||
out.print( "<p>The following resource does not exist: <a href=\"" );
|
||||
out.print( missingUrl.toString() );
|
||||
out.println( "\">" );
|
||||
out.print( missingUrl.toString() );
|
||||
out.println( "</a></p>" );
|
||||
|
||||
out.println( "</body></html>" );
|
||||
|
||||
out.flush();
|
||||
}
|
||||
catch ( IOException e )
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean resourceExists( DavServerRequest request )
|
||||
{
|
||||
String resource = request.getLogicalResource();
|
||||
File resourceFile = new File( managedRepository.getRepoRoot(), resource );
|
||||
return resourceFile.exists();
|
||||
}
|
||||
|
||||
private void fetchContentFromProxies( DavServerRequest request )
|
||||
throws ServletException
|
||||
|
|
Loading…
Reference in New Issue