/// <summary> /// Create a request message for a batch part from the batch writer. This method copies request headers /// from <paramref name="requestMessageArgs"/> in addition to the method and Uri. /// </summary> /// <param name="batchWriter">ODataBatchWriter instance to build operation message from.</param> /// <param name="requestMessageArgs">RequestMessageArgs for the request.</param> /// <param name="requestInfo">RequestInfo instance.</param> /// <param name="contentId">The Content-ID value to write in ChangeSet head.</param> /// <param name="isRelativeUri">If the request is using a relative uri.</param> /// <returns>an instance of ODataRequestMessageWrapper.</returns> internal static ODataRequestMessageWrapper CreateBatchPartRequestMessage( ODataBatchWriter batchWriter, BuildingRequestEventArgs requestMessageArgs, RequestInfo requestInfo, string contentId, bool isRelativeUri) { IODataRequestMessage requestMessage; requestMessage = batchWriter.CreateOperationRequestMessage( requestMessageArgs.Method, requestMessageArgs.RequestUri, contentId, isRelativeUri ? BatchPayloadUriOption.RelativeUri : BatchPayloadUriOption.AbsoluteUri); foreach (var h in requestMessageArgs.Headers) { requestMessage.SetHeader(h.Key, h.Value); } var clientRequestMessage = new InternalODataRequestMessage(requestMessage, false /*allowGetStream*/); ODataRequestMessageWrapper messageWrapper = new InnerBatchRequestMessageWrapper(clientRequestMessage, requestMessage, requestInfo, requestMessageArgs.Descriptor); return(messageWrapper); }
/// <summary> /// Create a request message for a batch part from the batch writer. This method copies request headers /// from <paramref name="requestMessageArgs"/> in addition to the method and Uri. /// </summary> /// <param name="batchWriter">ODataBatchWriter instance to build operation message from.</param> /// <param name="requestMessageArgs">RequestMessageArgs for the request.</param> /// <param name="requestInfo">RequestInfo instance.</param> /// <returns>an instance of ODataRequestMessageWrapper.</returns> internal static ODataRequestMessageWrapper CreateBatchPartRequestMessage( ODataBatchWriter batchWriter, BuildingRequestEventArgs requestMessageArgs, RequestInfo requestInfo) { IODataRequestMessage requestMessage = batchWriter.CreateOperationRequestMessage(requestMessageArgs.Method, requestMessageArgs.RequestUri); #if WINDOWS_PHONE if (requestInfo.HasWritingRequestEventHandlers) { // We use the InternalODataRequestMessage constructor here beecause we want to allow the user to be able to access the underlying request stream. requestMessage = new InternalODataRequestMessage(requestMessage, true); } #endif foreach (var h in requestMessageArgs.Headers) { requestMessage.SetHeader(h.Key, h.Value); } var clientRequestMessage = new InternalODataRequestMessage(requestMessage, false /*allowGetStream*/); ODataRequestMessageWrapper messageWrapper = new InnerBatchRequestMessageWrapper(clientRequestMessage, requestMessage, requestInfo, requestMessageArgs.Descriptor); return(messageWrapper); }
/// <summary> /// Create a request message for a batch part from the batch writer. This method copies request headers /// from <paramref name="requestMessageArgs"/> in addition to the method and Uri. /// </summary> /// <param name="batchWriter">ODataBatchWriter instance to build operation message from.</param> /// <param name="requestMessageArgs">RequestMessageArgs for the request.</param> /// <param name="requestInfo">RequestInfo instance.</param> /// <param name="contentId">The Content-ID value to write in ChangeSet head.</param> /// <returns>an instance of ODataRequestMessageWrapper.</returns> internal static ODataRequestMessageWrapper CreateBatchPartRequestMessage( ODataBatchWriter batchWriter, BuildingRequestEventArgs requestMessageArgs, RequestInfo requestInfo, string contentId) { IODataRequestMessage requestMessage = batchWriter.CreateOperationRequestMessage(requestMessageArgs.Method, requestMessageArgs.RequestUri, contentId); foreach (var h in requestMessageArgs.Headers) { requestMessage.SetHeader(h.Key, h.Value); } var clientRequestMessage = new InternalODataRequestMessage(requestMessage, false /*allowGetStream*/); ODataRequestMessageWrapper messageWrapper = new InnerBatchRequestMessageWrapper(clientRequestMessage, requestMessage, requestInfo, requestMessageArgs.Descriptor); return messageWrapper; }