/// <summary> /// Creates a writer for the given request message and settings. /// </summary> /// <param name="requestMessage">The request message.</param> /// <param name="writerSettings">The writer settings.</param> /// <param name="isParameterPayload">true if the writer is intended to for a parameter payload, false otherwise.</param> /// <returns>Newly created writer.</returns> internal ODataMessageWriter CreateWriter(IODataRequestMessage requestMessage, ODataMessageWriterSettings writerSettings, bool isParameterPayload) { Debug.Assert(requestMessage != null, "requestMessage != null"); Debug.Assert(writerSettings != null, "writerSettings != null"); DataServiceClientFormat.ValidateCanWriteRequestFormat(requestMessage); // When calling Execute() to invoke an Action, the client doesn't support parsing the target url // to determine which IEdmOperationImport to pass to the ODL writer. So the ODL writer is // serializing the parameter payload without metadata. Setting the model to null so ODL doesn't // do unnecessary validations when writing without metadata. var model = isParameterPayload ? null : this.requestInfo.Model; return(new ODataMessageWriter(requestMessage, writerSettings, model)); }
public void ValidateCanWriteRequestMessageShouldNotThrowForV3AndJsonLightWithModel() { this.v3TestSubject.UseJson(this.serviceModel); DataServiceClientFormat.ValidateCanWriteRequestFormat(RequestWithApplicationJson); }