/// <summary> /// The create context xml. /// </summary> /// <returns> /// The <see cref="RestMessageContext"/>. /// </returns> internal static RestMessageContext CreateContextXml() { var context = new RestMessageContext { Accept = JsonAccept, ContentType = JsonContentType }; return(context); }
/// <summary> /// The execute. /// </summary> /// <param name="context"> /// The context. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> /// <exception cref="SerializationException"> /// The Serialization Exception. /// </exception> private async Task <IRestResult> Execute(RestMessageContext context) { var result = await this.sender.CallServiceAsync(context); if (string.Equals(result.ContentType, context.Accept, StringComparison.OrdinalIgnoreCase) == false) { throw new SerializationException("Expected contentType:" + context.Accept); } return(result); }
/// <summary> /// The execute sender. /// </summary> /// <param name="request"> /// The request. /// </param> /// <param name="context"> /// The context. /// </param> /// <typeparam name="TRequest"> /// The Type of request. /// </typeparam> /// <returns> /// The <see cref="Task"/>. /// </returns> internal async Task ExecuteSender <TRequest>(TRequest request, RestMessageContext context) { context.Content = this.SerializeJson(request); await this.Execute(context); }
/// <summary> /// The execute sender. /// </summary> /// <param name="context"> /// The context. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> internal async Task ExecuteSender(RestMessageContext context) { await this.Execute(context); }
/// <summary> /// The execute sender. /// </summary> /// <param name="context"> /// The context. /// </param> /// <typeparam name="TResponse"> /// The Type of response. /// </typeparam> /// <returns> /// The <see cref="Task"/>. /// </returns> internal async Task <TResponse> ExecuteSender <TResponse>(RestMessageContext context) where TResponse : class { var result = await this.Execute(context); return(string.IsNullOrEmpty(result.Content) == false?this.DeserializeJson <TResponse>(result.Content) : null); }
/// <summary> /// The execute sender. /// </summary> /// <param name="request"> /// The request. /// </param> /// <param name="context"> /// The context. /// </param> /// <typeparam name="TRequest"> /// The Type of request. /// </typeparam> /// <typeparam name="TResponse"> /// The Type of response. /// </typeparam> /// <returns> /// The <see cref="Task"/>. /// </returns> internal async Task <TResponse> ExecuteSender <TRequest, TResponse>(TRequest request, RestMessageContext context) where TRequest : class where TResponse : class { context.Content = this.SerializeJson(request); return(await this.ExecuteSender <TResponse>(context)); }