public void ChangeHeaders() { ChangeHeaderInterceptor interceptor = new ChangeHeaderInterceptor(); requestFactory = new InterceptingClientHttpRequestFactory(requestFactoryMock, new IClientHttpRequestInterceptor[] { interceptor }); IClientHttpRequest request = requestFactory.CreateRequest(new Uri("http://example.com"), HttpMethod.GET); Assert.IsNotNull(requestMock.Headers.Get("AfterCreation")); Assert.IsNull(requestMock.Headers.Get("BeforeSyncExecution")); Assert.IsNull(responseMock.Headers.Get("AfterSyncExecution")); request.Execute(); Assert.IsNotNull(requestMock.Headers.Get("BeforeSyncExecution")); Assert.IsNotNull(responseMock.Headers.Get("AfterSyncExecution")); }
public void AsyncExecution() { ManualResetEvent manualEvent = new ManualResetEvent(false); Exception exception = null; NoOpRequestAsyncInterceptor interceptor1 = new NoOpRequestAsyncInterceptor(); ChangeHeaderInterceptor interceptor2 = new ChangeHeaderInterceptor(); requestFactory = new InterceptingClientHttpRequestFactory(requestFactoryMock, new IClientHttpRequestInterceptor[] { interceptor1, interceptor2 }); IClientHttpRequest request = requestFactory.CreateRequest(new Uri("http://example.com"), HttpMethod.GET); request.ExecuteAsync(null, delegate(ClientHttpRequestCompletedEventArgs args) { try { Assert.IsNull(args.Error, "Invalid response"); Assert.IsFalse(args.Cancelled, "Invalid response"); Assert.AreSame(this.responseMock, args.Response, "Invalid response"); Assert.IsNotNull(args.Response.Headers.Get("AfterAsyncExecution")); } catch (Exception ex) { exception = ex; } finally { manualEvent.Set(); } }); manualEvent.WaitOne(); if (exception != null) { throw exception; } Assert.IsTrue(interceptor1.invoked); Assert.IsTrue(this.requestMock.executed); Assert.IsNotNull(responseMock.Headers.Get("AfterAsyncExecution")); }
public void AsyncExecution() { ManualResetEvent manualEvent = new ManualResetEvent(false); Exception exception = null; NoOpRequestAsyncInterceptor interceptor1 = new NoOpRequestAsyncInterceptor(); ChangeHeaderInterceptor interceptor2 = new ChangeHeaderInterceptor(); requestFactory = new InterceptingClientHttpRequestFactory(requestFactoryMock, new IClientHttpRequestInterceptor[] { interceptor1, interceptor2 }); IClientHttpRequest request = requestFactory.CreateRequest(new Uri("http://example.com"), HttpMethod.GET); request.ExecuteAsync(null, delegate(ClientHttpRequestCompletedEventArgs args) { try { Assert.IsNull(args.Error, "Invalid response"); Assert.IsFalse(args.Cancelled, "Invalid response"); Assert.AreSame(this.responseMock, args.Response, "Invalid response"); Assert.IsNotNull(args.Response.Headers.Get("AfterAsyncExecution")); } catch (Exception ex) { exception = ex; } finally { manualEvent.Set(); } }); manualEvent.WaitOne(); if (exception != null) { throw exception; } Assert.IsTrue(interceptor1.invoked); Assert.IsTrue(this.requestMock.executed); Assert.IsNotNull(responseMock.Headers.Get("AfterAsyncExecution")); }
public void ChangeHeaders() { ChangeHeaderInterceptor interceptor = new ChangeHeaderInterceptor(); requestFactory = new InterceptingClientHttpRequestFactory(requestFactoryMock, new IClientHttpRequestInterceptor[] { interceptor }); IClientHttpRequest request = requestFactory.CreateRequest(new Uri("http://example.com"), HttpMethod.GET); Assert.IsNotNull(requestMock.Headers.Get("AfterCreation")); Assert.IsNull(requestMock.Headers.Get("BeforeSyncExecution")); Assert.IsNull(responseMock.Headers.Get("AfterSyncExecution")); request.Execute(); Assert.IsNotNull(requestMock.Headers.Get("BeforeSyncExecution")); Assert.IsNotNull(responseMock.Headers.Get("AfterSyncExecution")); }