/// <summary> /// Posts async. /// </summary> /// <typeparam name="TRequest">The TRequest.</typeparam> /// <typeparam name="TResponse">The TResponse.</typeparam> /// <param name="description">The description.</param> /// <param name="requestUri">The requestUri.</param> /// <param name="requestContent">The requestContent.</param> /// <param name="cancellationToken">The cancellationToken.</param> /// <param name="dataInterchangeFormat">The dataInterchangeFormat.</param> /// <param name="applicableProvider">The applicableProvider.</param> /// <param name="jsonSerializerSettings">The jsonSerializerSettings.</param> /// <returns>Task{TResponse}.</returns> public Task <TResponse> PostAsync <TRequest, TResponse>(string description, Uri requestUri, TRequest requestContent, CancellationToken cancellationToken, DataInterchangeFormat dataInterchangeFormat, string applicableProvider, JsonSerializerSettings jsonSerializerSettings = null) { StringContent serializedRequestContent = new StringContent(""); int dataInterchangeFormatInt = Convert.ToInt32(dataInterchangeFormat); if (dataInterchangeFormatInt == 0) { serializedRequestContent = SerializeAsJsonString(requestContent, jsonSerializerSettings); } else if (dataInterchangeFormatInt == 1) { serializedRequestContent = SerializeAsXmlString(requestContent); } else { throw new ArgumentException("Method parameter 'dataInterchangeFormat' must have a value of 'xml' or 'json'.", nameof(dataInterchangeFormat)); } return(CallApiAsync <TResponse>(description, client => CheckForWebException(description, client.PostAsync(requestUri, serializedRequestContent, cancellationToken)), applicableProvider)); }
public IDataInterchangeFormatter CreateFormatter(DataInterchangeFormat format) { IDataInterchangeFormatter retVal; switch (format) { default: retVal = new Utf8Formatter(); break; } return retVal; }