1 package org.apache.archiva.redback.rest.services.interceptors;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.cxf.jaxrs.model.OperationResourceInfo;
23 import org.apache.cxf.message.Message;
24 import org.apache.archiva.redback.authorization.RedbackAuthorization;
25 import org.slf4j.Logger;
26 import org.slf4j.LoggerFactory;
27
28 import javax.servlet.http.HttpServletRequest;
29 import javax.servlet.http.HttpServletResponse;
30 import javax.ws.rs.core.Context;
31 import java.lang.reflect.Method;
32
33
34
35
36
37 public class AbstractInterceptor
38 {
39
40 private Logger log = LoggerFactory.getLogger( getClass() );
41
42 @Context
43 private HttpServletRequest httpServletRequest;
44
45 @Context
46 private HttpServletResponse httpServletResponse;
47
48 public HttpServletRequest getHttpServletRequest( Message message )
49 {
50 return httpServletRequest;
51 }
52
53 public HttpServletResponse getHttpServletResponse( Message message )
54 {
55 return httpServletResponse;
56 }
57
58 public RedbackAuthorization getRedbackAuthorization( Message message )
59 {
60 OperationResourceInfo operationResourceInfo = message.getExchange().get( OperationResourceInfo.class );
61 if ( operationResourceInfo == null )
62 {
63 return null;
64 }
65
66 Method method = operationResourceInfo.getAnnotatedMethod();
67
68 log.debug( " method name {}", method == null ? "null" : method.getName() );
69 RedbackAuthorization redbackAuthorization = method.getAnnotation( RedbackAuthorization.class );
70 return redbackAuthorization;
71 }
72 }