summaryrefslogtreecommitdiff
path: root/FireBase/Http
diff options
context:
space:
mode:
authorDennis Kobert <d-kobert@web.de>2019-06-11 23:38:13 +0200
committerDennis Kobert <d-kobert@web.de>2019-06-11 23:38:13 +0200
commit2fa4a0e50ebfc97059c8b84dbd17e79f9afc8a8d (patch)
treec3b34ccb2737e347a73768536895cbbaab13cc01 /FireBase/Http
parentec991104f56e90d7bb2878da2fe6ed4e585dfc46 (diff)
parentaf74efccf8d21e6151022b71f3cacd3fa83024ee (diff)
Merge branch 'rework-backend'
Diffstat (limited to 'FireBase/Http')
-rw-r--r--FireBase/Http/HttpClientExtensions.cs130
-rw-r--r--FireBase/Http/PostResult.cs17
2 files changed, 0 insertions, 147 deletions
diff --git a/FireBase/Http/HttpClientExtensions.cs b/FireBase/Http/HttpClientExtensions.cs
deleted file mode 100644
index 5d15c59..0000000
--- a/FireBase/Http/HttpClientExtensions.cs
+++ /dev/null
@@ -1,130 +0,0 @@
-namespace Firebase.Database.Http
-{
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net.Http;
- using System.Threading.Tasks;
-
- using Newtonsoft.Json;
- using System.Net;
-
- /// <summary>
- /// The http client extensions for object deserializations.
- /// </summary>
- internal static class HttpClientExtensions
- {
- /// <summary>
- /// The get object collection async.
- /// </summary>
- /// <param name="client"> The client. </param>
- /// <param name="requestUri"> The request uri. </param>
- /// <param name="jsonSerializerSettings"> The specific JSON Serializer Settings. </param>
- /// <typeparam name="T"> The type of entities the collection should contain. </typeparam>
- /// <returns> The <see cref="Task"/>. </returns>
- public static async Task<IReadOnlyCollection<FirebaseObject<T>>> GetObjectCollectionAsync<T>(this HttpClient client, string requestUri,
- JsonSerializerSettings jsonSerializerSettings)
- {
- var responseData = string.Empty;
- var statusCode = HttpStatusCode.OK;
-
- try
- {
- var response = await client.GetAsync(requestUri).ConfigureAwait(false);
- statusCode = response.StatusCode;
- responseData = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
-
- response.EnsureSuccessStatusCode();
-
- var dictionary = JsonConvert.DeserializeObject<Dictionary<string, T>>(responseData, jsonSerializerSettings);
-
- if (dictionary == null)
- {
- return new FirebaseObject<T>[0];
- }
-
- return dictionary.Select(item => new FirebaseObject<T>(item.Key, item.Value)).ToList();
- }
- catch (Exception ex)
- {
- throw new FirebaseException(requestUri, string.Empty, responseData, statusCode, ex);
- }
- }
-
- /*/// <summary>
- /// The get object collection async.
- /// </summary>
- /// <param name="client"> The client. </param>
- /// <param name="requestUri"> The request uri. </param>
- /// /// <param name="dataType"> The Data Type. </param>
- /// <param name="jsonSerializerSettings"> The specific JSON Serializer Settings. </param>
- /// <typeparam name="T"> The type of entities the collection should contain. </typeparam>
- /// <returns> The <see cref="Task"/>. </returns>
- public static async Task<IReadOnlyCollection<FirebaseObject<object>>> GetObjectCollectionAsync(this HttpClient client, string requestUri,
- JsonSerializerSettings jsonSerializerSettings, Type dataType)
- {
- var responseData = string.Empty;
- var statusCode = HttpStatusCode.OK;
-
- try
- {
- var response = await client.GetAsync(requestUri).ConfigureAwait(false);
- statusCode = response.StatusCode;
- responseData = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
-
- response.EnsureSuccessStatusCode();
-
- Type dicType = typeof(Dictionary<,>).MakeGenericType(typeof(string), dataType);
-
- var dictionary = JsonConvert.DeserializeObject(responseData,dicType, jsonSerializerSettings) as Dictionary<string, object>;
-
- if (dictionary == null)
- {
- return new FirebaseObject<object>[0];
- }
-
- return dictionary.Select(item => new FirebaseObject<object>(item.Key, item.Value)).ToList();
- }
- catch (Exception ex)
- {
- throw new FirebaseException(requestUri, string.Empty, responseData, statusCode, ex);
- }
- }*/
-
- /// <summary>
- /// The get object collection async.
- /// </summary>
- /// <param name="data"> The json data. </param>
- /// <param name="elementType"> The type of entities the collection should contain. </param>
- /// <returns> The <see cref="Task"/>. </returns>
- public static IEnumerable<FirebaseObject<object>> GetObjectCollection(this string data, Type elementType)
- {
- var dictionaryType = typeof(Dictionary<,>).MakeGenericType(typeof(string), elementType);
- IDictionary dictionary = null;
-
- if (data.StartsWith("["))
- {
- var listType = typeof(List<>).MakeGenericType(elementType);
- var list = JsonConvert.DeserializeObject(data, listType) as IList;
- dictionary = Activator.CreateInstance(dictionaryType) as IDictionary;
- var index = 0;
- foreach (var item in list) dictionary.Add(index++.ToString(), item);
- }
- else
- {
- dictionary = JsonConvert.DeserializeObject(data, dictionaryType) as IDictionary;
- }
-
- if (dictionary == null)
- {
- yield break;
- }
-
- foreach (DictionaryEntry item in dictionary)
- {
- yield return new FirebaseObject<object>((string)item.Key, item.Value);
- }
- }
- }
-}
diff --git a/FireBase/Http/PostResult.cs b/FireBase/Http/PostResult.cs
deleted file mode 100644
index 3f010d4..0000000
--- a/FireBase/Http/PostResult.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-namespace Firebase.Database.Http
-{
- /// <summary>
- /// Represents data returned after a successful POST to firebase server.
- /// </summary>
- public class PostResult
- {
- /// <summary>
- /// Gets or sets the generated key after a successful post.
- /// </summary>
- public string Name
- {
- get;
- set;
- }
- }
-}