/// <summary> /// Выполнить запрос синхронно, передав в теле потока сериализованный объект и получить десериализованный результат /// </summary> /// <typeparam name="TResult">Тип передаваемого в запросе объекта</typeparam> /// <param name="request">Web запрос передающий Stream</param> /// <param name="stream"> Передаваемый объект </param> /// <returns> Результат web запроса </returns> public static TResult Execute <TResult>(this IRestStreamRequest request, Stream stream) { if (request == null) { throw new ArgumentNullException("request"); } return(request.Execute(stream).GetResultFromJson <TResult>()); }
/// <summary> /// Выполнить запрос синхронно, передав в теле потока сериализованный объект в Xml /// </summary> /// <typeparam name="T">Тип передаваемого в запросе объекта</typeparam> /// <param name="request">Web запрос передающий Stream</param> /// <param name="obj"> Передаваемый объект </param> /// <returns> Результат web запроса </returns> public static WebResponse Execute <T>(this IRestStreamRequest request, T obj) { if (request == null) { throw new ArgumentNullException("request"); } WebResponse response = null; obj.SerializeToStreamUsingJson(streamForRequest => { response = request.Execute(stream: streamForRequest); }); return(response); }
/// <summary> /// Синхронно выполняет Web запрос c передачей потока и получает результат /// <returns>Результат web запроса</returns> /// </summary> public static WebResponse Execute(this IRestStreamRequest restRequest, Stream stream) { if (restRequest == null) { throw new ArgumentNullException("restRequest"); } if (stream == null) { throw new ArgumentNullException("stream"); } return(restRequest.ExecuteAsync(stream).GetAwaiter().GetResult()); }
public static WebResponse ExecuteXml <T>(this IRestStreamRequest request, T obj) { if (request == null) { throw new ArgumentNullException("request"); } request.SetContentType(ContentTypes.ApplicationXml); WebResponse response = null; obj.SerializeToStreamUsingXml(streamForRequest => { response = request.Execute(stream: streamForRequest); }); return(response); }