public void GetHttpResponseMessageCallsPipelineInfo() { HttpRequestMessage request = new HttpRequestMessage(); HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request }; HttpOperationHandler[] handlers = new HttpOperationHandler[0]; SHttpOperationDescription operation = new SHttpOperationDescription() { ReturnValue = HttpParameter.ResponseMessage }; OperationHandlerPipelineInfo pipelineInfo = new OperationHandlerPipelineInfo(handlers, handlers, operation); MOperationHandlerPipelineInfo molePipelineInfo = new MOperationHandlerPipelineInfo(pipelineInfo); molePipelineInfo.GetEmptyPipelineValuesArray = () => new object[0]; molePipelineInfo.SetHttpRequestMessageHttpRequestMessageObjectArray = (req, values) => { }; molePipelineInfo.GetHttpResponseMessageObjectArray = (values) => response; OperationHandlerPipelineContext context = new OperationHandlerPipelineContext(pipelineInfo, request); HttpResponseMessage responseReturned = context.GetHttpResponseMessage(); Assert.IsNotNull(responseReturned, "HttpResponseMessage was not returned."); HttpAssert.AreEqual(response, responseReturned); }
public void GetHttpResponseMessageCallsPipelineInfo() { HttpRequestMessage request = new HttpRequestMessage(); HttpResponseMessage response = new HttpResponseMessage() { RequestMessage = request }; HttpOperationHandler[] handlers = new HttpOperationHandler[0]; SHttpOperationDescription operation = new SHttpOperationDescription() { ReturnValue = HttpParameter.ResponseMessage }; OperationHandlerPipelineInfo pipelineInfo = new OperationHandlerPipelineInfo(handlers, handlers, operation); MOperationHandlerPipelineInfo molePipelineInfo = new MOperationHandlerPipelineInfo(pipelineInfo); molePipelineInfo.GetEmptyPipelineValuesArray = () => new object[0]; molePipelineInfo.SetHttpRequestMessageHttpRequestMessageObjectArray = (req, values) => { }; molePipelineInfo.GetHttpResponseMessageObjectArray = (values) => response; OperationHandlerPipelineContext context = new OperationHandlerPipelineContext(pipelineInfo, request); HttpResponseMessage responseReturned = context.GetHttpResponseMessage(); Assert.IsNotNull(responseReturned, "HttpResponseMessage was not returned."); HttpAssert.AreEqual(response, responseReturned); }
internal HttpResponseMessage ExecuteResponsePipeline(OperationHandlerPipelineContext pipelineContext, object[] parameters, object result) { Fx.Assert(pipelineContext != null, "The 'pipelineContext' parameter should not be null."); Fx.Assert(parameters != null, "The 'parameters' parameter should not be null."); object[] pipelineParameters = new object[parameters.Length + 1]; pipelineParameters[0] = result; Array.Copy(parameters, 0, pipelineParameters, 1, parameters.Length); pipelineContext.SetOutputValuesAndAdvance(pipelineParameters); for (int handlerIndex = 0; handlerIndex < this.responseHandlersCount; handlerIndex++) { HttpOperationHandler handler = this.responseHandlers[handlerIndex]; object[] inputValues = pipelineContext.GetInputValues(); object[] outputValues = handler.Handle(inputValues); pipelineContext.SetOutputValuesAndAdvance(outputValues); } return(pipelineContext.GetHttpResponseMessage()); }
internal HttpResponseMessage ExecuteResponsePipeline(OperationHandlerPipelineContext pipelineContext, object[] parameters, object result) { Fx.Assert(pipelineContext != null, "The 'pipelineContext' parameter should not be null."); Fx.Assert(parameters != null, "The 'parameters' parameter should not be null."); object[] pipelineParameters = new object[parameters.Length + 1]; pipelineParameters[0] = result; Array.Copy(parameters, 0, pipelineParameters, 1, parameters.Length); pipelineContext.SetOutputValuesAndAdvance(pipelineParameters); for (int handlerIndex = 0; handlerIndex < this.responseHandlersCount; handlerIndex++) { HttpOperationHandler handler = this.responseHandlers[handlerIndex]; object[] inputValues = pipelineContext.GetInputValues(); object[] outputValues = handler.Handle(inputValues); pipelineContext.SetOutputValuesAndAdvance(outputValues); } return pipelineContext.GetHttpResponseMessage(); }