1 package org.apache.archiva.webdav;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.archiva.admin.model.RepositoryAdminException;
23 import org.apache.commons.lang.StringUtils;
24
25 import javax.servlet.ServletConfig;
26 import javax.servlet.ServletException;
27 import javax.servlet.http.HttpServletRequest;
28 import javax.servlet.http.HttpServletResponse;
29 import java.io.IOException;
30
31
32
33
34
35
36 public class UnauthenticatedRepositoryServlet
37 extends RepositoryServlet
38 {
39 @Override
40 public synchronized void initServers( ServletConfig servletConfig )
41 {
42 try
43 {
44 super.initServers( servletConfig );
45 }
46 catch ( RepositoryAdminException e )
47 {
48 throw new RuntimeException( e.getMessage(), e );
49 }
50
51 UnauthenticatedDavSessionProvider sessionProvider = new UnauthenticatedDavSessionProvider();
52 setDavSessionProvider( sessionProvider );
53 }
54
55 @Override
56 protected void service( HttpServletRequest request, HttpServletResponse response )
57 throws ServletException, IOException
58 {
59 String userAgent = request.getHeader( "User-Agent" );
60
61 if ( StringUtils.isEmpty( userAgent ))
62 {
63 throw new ServletException( "User-Agent is not configured" );
64 }
65
66 super.service( request, response );
67 }
68 }