internal ODataBatchWriter(ODataRawOutputContext rawOutputContext, string batchBoundary) { ExceptionUtils.CheckArgumentNotNull<string>(batchBoundary, "batchBoundary"); this.rawOutputContext = rawOutputContext; this.batchBoundary = batchBoundary; this.urlResolver = new ODataBatchUrlResolver(rawOutputContext.UrlResolver); this.rawOutputContext.InitializeTextWriter(); }
internal ODataBatchWriter(ODataRawOutputContext rawOutputContext, string batchBoundary) { ExceptionUtils.CheckArgumentNotNull <string>(batchBoundary, "batchBoundary"); this.rawOutputContext = rawOutputContext; this.batchBoundary = batchBoundary; this.urlResolver = new ODataBatchUrlResolver(rawOutputContext.UrlResolver); this.rawOutputContext.InitializeTextWriter(); }
/// <summary> /// Creates an instance of the output context for the specified format. /// </summary> /// <param name="format">The format to create the context for.</param> /// <param name="message">The message to use.</param> /// <param name="encoding">The encoding to use.</param> /// <param name="messageWriterSettings">Configuration settings of the OData writer.</param> /// <param name="writingResponse">true if writing a response message; otherwise false.</param> /// <param name="model">The model to use.</param> /// <param name="urlResolver">The optional URL resolver to perform custom URL resolution for URLs written to the payload.</param> /// <returns>Task which represents the pending create operation.</returns> internal static Task <ODataOutputContext> CreateOutputContextAsync( ODataFormat format, ODataMessage message, Encoding encoding, ODataMessageWriterSettings messageWriterSettings, bool writingResponse, IEdmModel model, IODataUrlResolver urlResolver) { DebugUtils.CheckNoExternalCallers(); if (format == ODataFormat.Atom) { return(ODataAtomOutputContext.CreateAsync( format, message, encoding, messageWriterSettings, writingResponse, model, urlResolver)); } if (format == ODataFormat.VerboseJson) { return(ODataJsonOutputContext.CreateAsync( format, message, encoding, messageWriterSettings, writingResponse, model, urlResolver)); } //// Metadata output is only supported in synchronous operation. if (format == ODataFormat.Batch || format == ODataFormat.RawValue) { return(ODataRawOutputContext.CreateAsync( format, message, encoding, messageWriterSettings, writingResponse, model, urlResolver)); } throw new ODataException(Strings.General_InternalError(InternalErrorCodes.ODataOutputContext_CreateOutputContext_UnrecognizedFormat)); }
internal static Task <ODataOutputContext> CreateOutputContextAsync(ODataFormat format, ODataMessage message, Encoding encoding, ODataMessageWriterSettings messageWriterSettings, bool writingResponse, IEdmModel model, IODataUrlResolver urlResolver) { if (format == ODataFormat.Atom) { return(ODataAtomOutputContext.CreateAsync(format, message, encoding, messageWriterSettings, writingResponse, model, urlResolver)); } if (format == ODataFormat.VerboseJson) { return(ODataJsonOutputContext.CreateAsync(format, message, encoding, messageWriterSettings, writingResponse, model, urlResolver)); } if ((format != ODataFormat.Batch) && (format != ODataFormat.RawValue)) { throw new ODataException(Microsoft.Data.OData.Strings.General_InternalError(InternalErrorCodes.ODataOutputContext_CreateOutputContext_UnrecognizedFormat)); } return(ODataRawOutputContext.CreateAsync(format, message, encoding, messageWriterSettings, writingResponse, model, urlResolver)); }
/// <summary> /// Constructor. /// </summary> /// <param name="rawOutputContext">The output context to write to.</param> /// <param name="batchBoundary">The boundary string for the batch structure itself.</param> internal ODataBatchWriter(ODataRawOutputContext rawOutputContext, string batchBoundary) { DebugUtils.CheckNoExternalCallers(); Debug.Assert(rawOutputContext != null, "rawOutputContext != null"); Debug.Assert( rawOutputContext.MessageWriterSettings.BaseUri == null || rawOutputContext.MessageWriterSettings.BaseUri.IsAbsoluteUri, "We should have validated that BaseUri is absolute."); ExceptionUtils.CheckArgumentNotNull(batchBoundary, "batchBoundary"); this.rawOutputContext = rawOutputContext; this.batchBoundary = batchBoundary; this.urlResolver = new ODataBatchUrlResolver(rawOutputContext.UrlResolver); this.rawOutputContext.InitializeTextWriter(); }