Beispiel #1
0
        /// <summary>
        /// Deserializes the response content as the specified type using the specified settings
        /// </summary>
        /// <typeparam name="T">The type of response body</typeparam>
        /// <param name="request">The SolidHttpRequest</param>
        /// <param name="settings">The specified JsonSerializerSettings</param>
        /// <returns>Task of type T</returns>
        public static async Task <T> As <T>(this SolidHttpRequest request, JsonSerializerSettings settings)
        {
            var factory     = new JsonResponseDeserializerFactory(settings);
            var deserialize = factory.CreateDeserializer <T>();

            return(await request.As <T>(deserialize));
        }
Beispiel #2
0
        /// <summary>
        /// Returns the content as a GzipStream, caller is responsable for desposing the stream
        /// </summary>
        /// <param name="request"></param>
        /// <param name="level"></param>
        /// <returns></returns>
        public static async Task <T> As <T>(this SolidHttpRequest request, ZipArchiveMode mode)
        {
            var factory     = new ZipArchiveResponseDeserializerFactory(mode);
            var deserialize = factory.CreateDeserializer <T>();

            return(await request.As <T>());
        }
Beispiel #3
0
 /// <summary>
 /// Deserializes the response content as an array of type T
 /// </summary>
 /// <typeparam name="T">The type to deserialize to</typeparam>
 /// <param name="request">The SolidHttpRequest</param>
 /// <returns>Task of type IEnumerable&lt;T&gt;</returns>
 public static async Task <IEnumerable <T> > AsMany <T>(this SolidHttpRequest request)
 {
     return(await request.As <IEnumerable <T> >());
 }
Beispiel #4
0
 /// <summary>
 /// Deserializes the response content as the specified anonymous type
 /// </summary>
 /// <typeparam name="T">The type to deserialize to</typeparam>
 /// <param name="request">The SolidHttpRequest</param>
 /// <param name="anonymous">An anonumous type to infer T</param>
 /// <returns>Task of type T</returns>
 public static async Task <T> As <T>(this SolidHttpRequest request, T anonymous)
 {
     return(await request.As <T>());
 }
Beispiel #5
0
 /// <summary>
 /// Returns the response content as text
 /// </summary>
 /// <param name="request">The SolidHttpRequest</param>
 /// <returns>Task of type string</returns>
 public static async Task <string> AsText(this SolidHttpRequest request)
 {
     return(await request.As(async content => await content.ReadAsStringAsync()));
 }
Beispiel #6
0
 /// <summary>
 /// Deserializes the response content as the specified anonymous type using the specified settings
 /// </summary>
 /// <typeparam name="T">The type of resonse body</typeparam>
 /// <param name="request">The SolidHttpRequest</param>
 /// <param name="anonymous">The anonymous type</param>
 /// <param name="settings">The specified JsonSerializerSettings</param>
 /// <returns>Task of type IEnumerable&lt;T&gt;</returns>
 public static Task <IEnumerable <T> > AsMany <T>(this SolidHttpRequest request, T anonymous, JsonSerializerSettings settings)
 {
     return(request.As <IEnumerable <T> >(settings));
 }
Beispiel #7
0
 /// <summary>
 /// Deserializes the response content as the specified anonymous type using the specified settings
 /// </summary>
 /// <typeparam name="T">The type of resonse body</typeparam>
 /// <param name="request">The SolidHttpRequest</param>
 /// <param name="anonymous">The anonymous type</param>
 /// <param name="settings">The specified JsonSerializerSettings</param>
 /// <returns>Task of type T</returns>
 public static Task <T> As <T>(this SolidHttpRequest request, T anonymous, JsonSerializerSettings settings)
 {
     return(request.As <T>(settings));
 }
Beispiel #8
0
 /// <summary>
 /// Deserializes the response content as the specified type using the specified settings
 /// </summary>
 /// <typeparam name="T">The type of resonse body</typeparam>
 /// <param name="request">The SolidHttpRequest</param>
 /// <param name="settings">The specified JsonSerializerSettings</param>
 /// <returns>Task of type IEnumerable&lt;T&gt;</returns>
 public static Task <IEnumerable <T> > AsMany <T>(this SolidHttpRequest request, DataContractSerializerSettings settings)
 {
     return(request.As <IEnumerable <T> >(settings));
 }