public FirebaseResponse Execute() { Uri requestURI; if (FirebaseOperations.ValidateURI(this.Uri)) { requestURI = new Uri(this.Uri); } else { return(new FirebaseResponse(false, "Given Firebase path is not a valid HTTP/S URL")); } string json = null; if (this.JSON != null) { if (!FirebaseOperations.CheckParseJSON(this.JSON, out json)) { return(new FirebaseResponse(false, string.Format("Invalid JSON : {0}", json))); } } Task <HttpResponseMessage> response = FirebaseOperations.RequestHelper(this.Method, requestURI, json); response.Wait(); HttpResponseMessage result = response.Result; if (!result.IsSuccessStatusCode && result.StatusCode.Equals(HttpStatusCode.Unauthorized)) { AccessAuthentication.RefreshToken(); response = FirebaseOperations.RequestHelper(this.Method, requestURI, json); response.Wait(); result = response.Result; } FirebaseResponse firebaseResponse = new FirebaseResponse() { HttpResponse = result, ErrorMessage = result.StatusCode.ToString() + " : " + result.ReasonPhrase, Success = response.Result.IsSuccessStatusCode }; if (this.Method.Equals(HttpMethod.Get)) { Task <string> content = result.Content.ReadAsStringAsync(); content.Wait(); firebaseResponse.JSONContent = content.Result; } return(firebaseResponse); }
public FirebaseOperations(string baseURL, string pathToJSONKey, params string[] scopes) { this.RootNode = baseURL; AccessAuthentication.GenenateAccessToken(pathToJSONKey, scopes); }