/// <summary> /// If we are writing a response and the given Json Padding function name is not null or empty /// this function will close the JSONP scope. /// </summary> /// <param name="jsonWriter">JsonWriter to write to.</param> /// <param name="settings">Writer settings.</param> internal static void EndJsonPaddingIfRequired(IJsonWriter jsonWriter, ODataMessageWriterSettings settings) { Debug.Assert(jsonWriter != null, "jsonWriter should not be null"); if (settings.HasJsonPaddingFunction()) { jsonWriter.EndPaddingFunctionScope(); } }
/// <summary> /// Will write the function's name and start the JSONP scope if we are writing a response and the /// JSONP function name is not null or empty. /// </summary> /// <param name="jsonWriter">JsonWriter to write to.</param> /// <param name="settings">Writer settings.</param> internal static void StartJsonPaddingIfRequired(IJsonWriter jsonWriter, ODataMessageWriterSettings settings) { Debug.Assert(jsonWriter != null, "jsonWriter should not be null"); if (settings.HasJsonPaddingFunction()) { jsonWriter.WritePaddingFunctionName(settings.JsonPCallback); jsonWriter.StartPaddingFunctionScope(); } }
/// <summary> /// If we are writing a response and the given Json Padding function name is not null or empty /// this function will close the JSONP scope asynchronously. /// </summary> /// <param name="jsonWriter">JsonWriter to write to.</param> /// <param name="settings">Writer settings.</param> /// <returns>A task that represents the asynchronous operation.</returns> internal static Task EndJsonPaddingIfRequiredAsync(IJsonWriterAsync jsonWriter, ODataMessageWriterSettings settings) { Debug.Assert(jsonWriter != null, "jsonWriter should not be null"); if (settings.HasJsonPaddingFunction()) { return(jsonWriter.EndPaddingFunctionScopeAsync()); } return(TaskUtils.CompletedTask); }
/// <summary> /// Asynchronously writes the function's name and start the JSONP scope if we are writing a response and the /// JSONP function name is not null or empty. /// </summary> /// <param name="jsonWriter">JsonWriter to write to.</param> /// <param name="settings">Writer settings.</param> /// <returns>A task that represents the asynchronous operation.</returns> internal static async Task StartJsonPaddingIfRequiredAsync(IJsonWriterAsync jsonWriter, ODataMessageWriterSettings settings) { Debug.Assert(jsonWriter != null, "jsonWriter should not be null"); if (settings.HasJsonPaddingFunction()) { await jsonWriter.WritePaddingFunctionNameAsync(settings.JsonPCallback).ConfigureAwait(false); await jsonWriter.StartPaddingFunctionScopeAsync().ConfigureAwait(false); } }