private async Task <JObject> GetJobInfo(string jobid, CancellationToken canceltoken) { var request = new HttpGetRequest(_apiurl + JOBINFOURL, jobid); string response = await request.Request(canceltoken); return(JObject.Parse(response)); }
private async Task <JObject> GetSubmissionStatus(string subid, CancellationToken canceltoken) { var request = new HttpGetRequest(_apiurl + SUBMISSIONURL, subid); string response = await request.Request(canceltoken); return(JObject.Parse(response)); }
public async Task <Coords> GetSite() { string route = "/api/main/status"; var request = new HttpGetRequest(this.baseUrl + route); try { var response = await request.Request(new CancellationToken()); if (string.IsNullOrEmpty(response)) { throw new PlanetariumFailedToConnect(); } var jobj = JObject.Parse(response); var status = jobj.ToObject <StellariumStatus>(); Coords loc = new Coords { Latitude = status.Location.Latitude, Longitude = status.Location.Longitude, Elevation = status.Location.Altitude }; return(loc); } catch (Exception ex) { Logger.Error(ex); throw ex; } }
public async Task <DeepSkyObject> GetTarget() { string route = "/api/objects/info?format=json"; var request = new HttpGetRequest(this.baseUrl + route); try { var response = await request.Request(new CancellationToken()); if (string.IsNullOrEmpty(response)) { return(await GetView()); } var jobj = JObject.Parse(response); var status = jobj.ToObject <StellariumObject>(); var ra = Astrometry.EuclidianModulus(status.RightAscension, 360); var dec = status.Declination; var coordinates = new Coordinates(Angle.ByDegree(ra), Angle.ByDegree(dec), Epoch.J2000); var dso = new DeepSkyObject(status.Name, coordinates, string.Empty); return(dso); } catch (Exception ex) { Logger.Error(ex); throw ex; } }
public IEnumerator TestPlain() { var request = new HttpGetRequest("https://www.google.com/"); Assert.IsTrue(request.Url.Equals("https://www.google.com") || request.Url.Equals("https://www.google.com/")); request.Request(); while (!request.IsFinished) { yield return(null); } Debug.Log($"TestPlain result:\n{request.Response.TextData}"); }
public IEnumerator TestQueryParam() { var request = new HttpGetRequest("https://osu.ppy.sh/beatmapsets/search?cursor%5Bapproved_date%5D=1562342428000&cursor%5B_id%5D=942269"); Assert.IsTrue("https://osu.ppy.sh/beatmapsets/search?cursor%5Bapproved_date%5D=1562342428000&cursor%5B_id%5D=942269".Equals(request.Url, StringComparison.OrdinalIgnoreCase)); request = new HttpGetRequest("https://www.google.com/search"); request.AddQueryParam("cursor[approved_date]", "1562342428000"); request.AddQueryParam("cursor[_id]", "942269"); Assert.IsTrue("https://www.google.com/search?cursor%5Bapproved_date%5D=1562342428000&cursor%5B_id%5D=942269".Equals(request.Url, StringComparison.OrdinalIgnoreCase)); request.Request(); while (!request.IsFinished) { yield return(null); } Debug.Log($"TestQueryParam result:\n{request.Response.TextData}"); }
private async Task <DeepSkyObject> GetView() { string route = "/api/main/view"; var request = new HttpGetRequest(this.baseUrl + route); try { var response = await request.Request(new CancellationToken()); if (string.IsNullOrEmpty(response)) { throw new PlanetariumFailedToConnect(); } /* The api returns arrays in an invalid json array format so we need to remove the quotes first */ response = response.Replace("\"[", "[").Replace("]\"", "]"); var jobj = JObject.Parse(response); var status = jobj.ToObject <StellariumView>(); var x = Angle.ByRadians(status.J2000[0]); var y = Angle.ByRadians(status.J2000[1]); var z = Angle.ByRadians(status.J2000[2]); var dec = z.Asin(); var ra = Angle.Atan2(y, x); // A bug in Stellarium >= 0.20 will cause it to report negative y values which translates to a negative RA value. This is not desired. if (ra.Radians < 0d) { ra = (2 * Math.PI) + ra; } var coordinates = new Coordinates(ra, dec, Epoch.J2000); var dso = new DeepSkyObject(string.Empty, coordinates, string.Empty); return(dso); } catch (Exception ex) { Logger.Error(ex); throw ex; } }