/// <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)); }
/// <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>()); }
/// <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<T></returns> public static async Task <IEnumerable <T> > AsMany <T>(this SolidHttpRequest request) { return(await request.As <IEnumerable <T> >()); }
/// <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>()); }
/// <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())); }
/// <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<T></returns> public static Task <IEnumerable <T> > AsMany <T>(this SolidHttpRequest request, T anonymous, JsonSerializerSettings settings) { return(request.As <IEnumerable <T> >(settings)); }
/// <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)); }
/// <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<T></returns> public static Task <IEnumerable <T> > AsMany <T>(this SolidHttpRequest request, DataContractSerializerSettings settings) { return(request.As <IEnumerable <T> >(settings)); }