想了解在ContainerRequestFilter中获取资源类注释值的新动态吗?本文将为您提供详细的信息,此外,我们还将为您介绍关于c#–在ActionFilter中获取RequestBody、co
想了解在ContainerRequestFilter中获取资源类注释值的新动态吗?本文将为您提供详细的信息,此外,我们还将为您介绍关于c# – 在ActionFilter中获取Request Body、com.android.volley.RequestQueue.RequestFilter的实例源码、com.android.volley.RequestQueue.RequestFinishedListener的实例源码、Filter若不写chain.doFilter(request,response)原Servlet路径代码不会被执行的新知识。
本文目录一览:- 在ContainerRequestFilter中获取资源类注释值
- c# – 在ActionFilter中获取Request Body
- com.android.volley.RequestQueue.RequestFilter的实例源码
- com.android.volley.RequestQueue.RequestFinishedListener的实例源码
- Filter若不写chain.doFilter(request,response)原Servlet路径代码不会被执行
在ContainerRequestFilter中获取资源类注释值
我在理解剩余拦截器注释如何添加不同的值(稍后在过滤器中看到)方面有些挣扎。给定下面的代码,我希望一旦在过滤器中,权限值中将包含foo和bar,但是它们为空。任何帮助将不胜感激。
注解
package edu.psu.swe.fortress.poc.interceptor;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import javax.enterprise.util.Nonbinding;import javax.ws.rs.NameBinding;@NameBinding@Target({ElementType.TYPE, ElementType.METHOD})@Retention(value=RetentionPolicy.RUNTIME)public @interface FortressProtected{ @Nonbinding String[] permissions() default {};}
过滤
package edu.psu.swe.fortress.poc.interceptor;import java.io.IOException;import java.lang.annotation.Annotation;import javax.ws.rs.container.ContainerRequestContext;import javax.ws.rs.container.ContainerRequestFilter;import javax.ws.rs.ext.Provider;@Provider@FortressProtectedpublic class FortressAuthorizer implements ContainerRequestFilter{ @Override public void filter(ContainerRequestContext requestContext) throws IOException { System.out.println("In the interceptor"); Class<?> clazz = this.getClass(); FortressProtected annotation = clazz.getAnnotation(edu.psu.swe.fortress.poc.interceptor.FortressProtected.class); System.out.println("Annotation? " + clazz.isAnnotation()); for (Annotation a : clazz.getAnnotations()) { System.out.println(a); } for (String s : annotation.permissions()) { System.out.println(s); } }}
应用配置
package edu.psu.swe.fortress.poc.rest;import java.util.HashSet;import java.util.Set;import javax.ws.rs.ApplicationPath;import javax.ws.rs.core.Application;import edu.psu.swe.fortress.poc.interceptor.FortressAuthorizer;import edu.psu.swe.fortress.poc.interceptor.FortressProtected;@ApplicationPath("")public class FortressTestApp extends Application{ private Set<Class<?>> clazzez_ = new HashSet<>(); { clazzez_.add(ResourceImpl.class); clazzez_.add(FortressProtected.class); clazzez_.add(FortressAuthorizer.class); } public Set<Class<?>> getClasses() { return clazzez_; }}
资源类别
package edu.psu.swe.fortress.poc.rest;import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.Produces;import edu.psu.swe.fortress.poc.interceptor.FortressProtected;@FortressProtected(permissions={"foo", "bar"})@Path("tests")public class ResourceImpl{ @GET @Produces("application/text") public String getHello() { FortressProtected annotation = this.getClass().getAnnotation(edu.psu.swe.fortress.poc.interceptor.FortressProtected.class); System.out.println(annotation.toString()); return "hello"; }}
日志输出如下:
15:59:55,223信息[标准输出](默认任务9)@
edu.psu.swe.fortress.poc.interceptor.FortressProtected(permissions =
[])15:59:55,229信息[标准输出](默认任务9) @
edu.psu.swe.fortress.poc.interceptor.FortressProtected(权限= [foo,bar])
提前致谢。
答案1
小编典典看看你的过滤器
Class<?> clazz = this.getClass();FortressProtected annotation = clazz.getAnnotation(FortressProtected.class);
this.getClass()
对应于过滤器类(其注释 具有 任何值)。相反,您需要在ResourceImpl
有两个选择。您可以显式使用ResourceImpl.class.getAnnotation(...)
。但是,这样做的问题是,一旦您绑定了多个类,您将如何匹配哪个类对应于哪个请求。因此,下一个选择更可行。
你要做的就是注射ResourceInfo
。这样,您可以调用它getResourceMethod
或getResourceClass
方法。这些方法分别返回匹配的方法和类。然后,您可以在类级别以及方法级别检查注释(因为我们也可以在方法级别进行绑定)。因此,您可能会更喜欢:
@Provider@FortressProtectedpublic class FortressAuthorizer implements ContainerRequestFilter { @Context ResourceInfo resourceInfo; @Override public void filter(ContainerRequestContext requestContext) throws IOException { Class<?> resourceClass = resourceInfo.getResourceClass(); FortressProtected classAnnot = resourceClass.getAnnotation(FortressProtected.class); if (classAnnot != null) { // do something with annotation } Method resourceMethod = resourceInfo.getResourceMethod(); FortressProtected methodAnnot = resourceMethod.getAnnotation(FortressProtected.class); if (methodAnnot != null) { // do something with annotation } }}
c# – 在ActionFilter中获取Request Body
任何人都可以提供一些建议我如何获取这些信息?
对于上下文,我试图在此代码中执行此操作:
public class LoggingActionFilter : ActionFilterattribute { public override Task OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext,CancellationToken cancellationToken) { var test = actionExecutedContext.Request.Content.ReadAsstringAsync().Result; return base.OnActionExecutedAsync(actionExecutedContext,cancellationToken); } }
我已经尝试回读actionExecutedContext变量上的内容以便返回正文但是发现这只是为了返回空白到目前为止.
解决方法
public override void OnActionExecuting(HttpActionContext actionContext) { var test = (actionContext.Request.Content as ObjectContent).Value.ToString(); // your logging code here }
WebAPI中另一个可用的选项是DelegatingHandler.如果你只想记录请求体,那么重写SendAsync方法,
public class ApiLogHandler : DelegatingHandler { protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request,CancellationToken cancellationToken) { var requestBody = request.Content.ReadAsstringAsync().Result; // your logging code here return base.SendAsync(request,cancellationToken); } }
如果您决定选择DelegatingHandler,则需要将该处理程序注册到Global消息处理程序.
com.android.volley.RequestQueue.RequestFilter的实例源码
private static void drain(RequestQueue paramRequestQueue,int paramInt) { paramRequestQueue.cancelAll(new RequestQueue.RequestFilter() { public final boolean apply(Request<?> paramAnonymousRequest) { if ((paramAnonymousRequest instanceof DfeRequest)) { if (((DfeRequest)paramAnonymousRequest).mAvoidBulkCancel) { return false; } } else if ((paramAnonymousRequest instanceof vendingRequest)) { if (((vendingRequest)paramAnonymousRequest).mAvoidBulkCancel) { return false; } } else if ((paramAnonymousRequest instanceof EscrowRequest)) { return false; } return paramAnonymousRequest.getSequence() < this.val$seq; } }); }
/** * 取消 * @param method * @param api * @param urlParams * @param params */ public void cancel(final int method,final int api,final Object[] urlParams,final Map<String,String> params) { final String targetUrl = buildUrl(method,api,urlParams,params); mRequestQueue.cancelAll(new RequestFilter() { @Override public boolean apply(Request<?> request) { return String.valueOf(request.getTag()) == targetUrl; } }); }
/** * 取消所有请求 */ public void cancel() { mRequestQueue.cancelAll(new RequestFilter() { @Override public boolean apply(Request<?> request) { return (request instanceof BaseRequest); } }); }
/** * 取消所有请求. */ public void cancelAllRequest() { if (mRequestQueue != null) mRequestQueue.cancelAll(new RequestFilter() { @Override public boolean apply(Request<?> request) { return true; } }); }
/** * 取消所有请求. */ public void cancelAllRequest() { if (mRequestQueue != null) mRequestQueue.cancelAll(new RequestFilter() { @Override public boolean apply(Request<?> request) { return true; } }); }
/** * 取消所有请求. */ public void cancelAllRequest() { if (mRequestQueue != null) mRequestQueue.cancelAll(new RequestFilter() { @Override public boolean apply(Request<?> request) { return true; } }); }
public final void onDetach() { super.onDetach(); this.mOnRegionCodeselectedListener = null; cancelPendingAdminAreaMetadataRetrievalRequest(); getRequestQueue().cancelAll(new RequestQueue.RequestFilter() { public final boolean apply(Request<?> paramAnonymousRequest) { return paramAnonymousRequest instanceof CountryMetadataRetrievalTask.CountryMetadataRetrievalRequest; } }); }
protected synchronized void clearRefreshQueue() { volleyRefreshQueue.cancelAll(new RequestFilter() { @Override public boolean apply(com.android.volley.Request<?> request) { return true; } }); }
protected synchronized void clearRequestQueue() { volleyRequestQueue.cancelAll(new RequestFilter() { @Override public boolean apply(com.android.volley.Request<?> request) { return true; } }); }
@Deprecated public void cancelVolleyRquestByObject(final Object obj) { if (mVolleyQueue == null) { return; } mVolleyQueue.cancelAll(new RequestFilter() { @Override public boolean apply(Request<?> request) { if (request.getTag() != null && request.getTag() instanceof VolleyTag) { return ((VolleyTag) request.getTag()).object == obj; } return false; } }); }
@Deprecated public void cancelVolleyRequestAll() { if (mVolleyQueue == null) { return; } mVolleyQueue.cancelAll(new RequestFilter() { @Override public boolean apply(Request<?> request) { return true; } }); }
@Override public void fetch(final VolleyNetworkFetchState fetchState,final Callback callback) { fetchState.submitTime = SystemClock.elapsedRealtime(); final RawRequest request = new RawRequest( fetchState.getUri().toString(),new Response.Listener<byte[]>() { @Override public void onResponse(byte[] bytes) { fetchState.responseTime = SystemClock.uptimeMillis(); try { InputStream is = new ByteArrayInputStream(bytes); callback.onResponse(is,bytes.length); } catch (IOException e) { callback.onFailure(e); } } },new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { callback.onFailure(volleyError); } }); fetchState.getContext().addCallbacks( new BaseProducerContextCallbacks() { @Override public void onCancellationRequested() { mRequestQueue.cancelAll(new RequestFilter() { @Override public boolean apply(Request<?> candidate) { return candidate != null && request.getSequence() == candidate.getSequence(); } }); } }); mRequestQueue.add(request); }
@Override public void fetch(final VolleyNetworkFetchState fetchState,new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { callback.onFailure(volleyError); } }); fetchState.getContext().addCallbacks( new BaseProducerContextCallbacks() { @Override public void onCancellationRequested() { mRequestQueue.cancelAll(new RequestFilter() { @Override public boolean apply(Request<?> candidate) { return candidate != null && request.getSequence() == candidate.getSequence(); } }); } }); mRequestQueue.add(request); }
@Deprecated public void cancelVolleyRequest(RequestFilter filter) { if (mVolleyQueue!=null) { mVolleyQueue.cancelAll(filter); } }
public void cancelRequestQueue(jp.egg.android.request2.okhttp.RequestQueue.RequestFilter filter) { if (mRequestQueue != null) { mRequestQueue.cancelAll(filter); } }
public static void cancelAllRequest(RequestFilter filter){ mQueue.cancelAll(filter); }
com.android.volley.RequestQueue.RequestFinishedListener的实例源码
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),mMockNetwork,1,mDelivery); when(mMockNetwork.performRequest(request)).thenAnswer(delayAnswer); queue.addRequestFinishedListener(listener); queue.start(); queue.add(request); request.cancel(); verify(listener,timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),mDelivery); queue.addRequestFinishedListener(listener); queue.addRequestFinishedListener(listener2); queue.start(); queue.add(request); verify(listener,timeout(100)).onRequestFinished(request); verify(listener2,timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue * interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue * interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(),timeout(100)).onRequestFinished(request); queue.stop(); }
Filter若不写chain.doFilter(request,response)原Servlet路径代码不会被执行
Filter如果不写chain.dofilter(request,response) 那么对应的Servlet URL 是不会执行的。
Java代码:
web.xml
关于在ContainerRequestFilter中获取资源类注释值的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于c# – 在ActionFilter中获取Request Body、com.android.volley.RequestQueue.RequestFilter的实例源码、com.android.volley.RequestQueue.RequestFinishedListener的实例源码、Filter若不写chain.doFilter(request,response)原Servlet路径代码不会被执行等相关知识的信息别忘了在本站进行查找喔。
本文标签: