public static HttpResponseMessage AppendToFileBlob(string instance, JObject record, UserAccount userAccount) { string antiForgeryToken = GenerateAntiForgeryToken(instance, userAccount); using (WebRequestHandler handler = new WebRequestHandler()) using (HttpClient client = new HttpClient(handler)) { handler.ServerCertificateValidationCallback += HandleCertificateValidation; client.BaseAddress = new Uri(instance); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("X-GSF-Verify", antiForgeryToken); client.AddBasicAuthenticationHeader(userAccount.AccountName, userAccount.Password); HttpResponseMessage response = client.PutAsJsonAsync("api/PQMark/AppendToFileBlob", record).Result; if (!response.IsSuccessStatusCode) { throw new InvalidOperationException($"Server returned status code {response.StatusCode}: {response.ReasonPhrase}"); } return(response); } }
public static IEnumerable <dynamic> GetRecords(string instance, string tableName, string ids, UserAccount userAccount) { using (WebRequestHandler handler = new WebRequestHandler()) using (HttpClient client = new HttpClient(handler)) { handler.ServerCertificateValidationCallback += HandleCertificateValidation; client.BaseAddress = new Uri(instance); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.AddBasicAuthenticationHeader(userAccount.AccountName, userAccount.Password); HttpResponseMessage response = client.GetAsync($"api/PQMark/GetRecords/{tableName}/{ids}").Result; if (!response.IsSuccessStatusCode) { throw new InvalidOperationException($"Server returned status code {response.StatusCode}: {response.ReasonPhrase}"); } dynamic record = response.Content.ReadAsAsync <dynamic>(); Type modelType = typeof(Meter).Assembly.GetType("openXDA.Model." + tableName); Type listType = typeof(IEnumerable <>).MakeGenericType(modelType); return(record.Result.ToObject(listType)); } }
public static dynamic GetRecordWhere(string instance, string tableName, string whereClause, UserAccount userAccount) { using (WebRequestHandler handler = new WebRequestHandler()) using (HttpClient client = new HttpClient(handler)) { handler.ServerCertificateValidationCallback += HandleCertificateValidation; client.BaseAddress = new Uri(instance); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.AddBasicAuthenticationHeader(userAccount.AccountName, userAccount.Password); string urlEncodedWhereClause = HttpUtility.UrlEncode(whereClause); HttpResponseMessage response = client.GetAsync($"api/PQMark/GetRecordWhere/{tableName}?where={urlEncodedWhereClause}").Result; if (!response.IsSuccessStatusCode) { throw new InvalidOperationException($"Server returned status code {response.StatusCode}: {response.ReasonPhrase}"); } dynamic record = response.Content.ReadAsAsync <dynamic>(); if (record.Result == null) { return(null); } return(record.Result.ToObject(typeof(Meter).Assembly.GetType("openXDA.Model." + tableName))); } }
public MiMDDailyStatistic GetRecord(string url, string credential, string password, string meter) { using (WebRequestHandler handler = new WebRequestHandler()) using (HttpClient client = new HttpClient(handler)) { handler.ServerCertificateValidationCallback += HandleCertificateValidation; client.BaseAddress = new Uri(url); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.AddBasicAuthenticationHeader(credential, password); HttpResponseMessage response = client.GetAsync($"api/SystemCenter/Statistics/MiMD/Last/{meter}").Result; if (!response.IsSuccessStatusCode) { throw new InvalidOperationException($"Server returned status code {response.StatusCode}: {response.ReasonPhrase}"); } string record = response.Content.ReadAsStringAsync().Result; if (record != "\"null\"") { return(JsonConvert.DeserializeObject <MiMDDailyStatistic>(record)); } else { return(null); } } }
public static int CreateRecord <T>(string instance, T record, UserAccount userAccount) where T : class { string antiForgeryToken = GenerateAntiForgeryToken(instance, userAccount); using (WebRequestHandler handler = new WebRequestHandler()) using (HttpClient client = new HttpClient(handler)) { handler.ServerCertificateValidationCallback += HandleCertificateValidation; client.BaseAddress = new Uri(instance); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("X-GSF-Verify", antiForgeryToken); client.AddBasicAuthenticationHeader(userAccount.AccountName, userAccount.Password); HttpResponseMessage response = client.PostAsJsonAsync($"api/PQMark/CreateRecord/{typeof(T).Name}", record).Result; if (!response.IsSuccessStatusCode) { throw new InvalidOperationException($"Server returned status code {response.StatusCode}: {response.ReasonPhrase}"); } dynamic r = response.Content.ReadAsAsync <dynamic>(); return((int)r.Result); } }
public static HttpResponseMessage DeleteRecord(string instance, string tableName, int id, UserAccount userAccount) { string antiForgeryToken = GenerateAntiForgeryToken(instance, userAccount); using (WebRequestHandler handler = new WebRequestHandler()) using (HttpClient client = new HttpClient(handler)) { handler.ServerCertificateValidationCallback += HandleCertificateValidation; client.BaseAddress = new Uri(instance); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("X-GSF-Verify", antiForgeryToken); client.AddBasicAuthenticationHeader(userAccount.AccountName, userAccount.Password); HttpResponseMessage response = client.DeleteAsync($"api/PQMark/DeleteRecord/{tableName}/{id}").Result; return(response); } }
public HttpStatusCode UpdateRecord(string url, string credential, string password, MiMDDailyStatistic record) { string antiForgeryToken = GenerateAntiForgeryToken(url, credential, password); using (WebRequestHandler handler = new WebRequestHandler()) using (HttpClient client = new HttpClient(handler)) { handler.ServerCertificateValidationCallback += HandleCertificateValidation; client.BaseAddress = new Uri(url); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("X-GSF-Verify", antiForgeryToken); client.AddBasicAuthenticationHeader(credential, password); HttpResponseMessage response = client.PutAsJsonAsync($"api/SystemCenter/Statistics/MiMD/Update", record).Result; return(response.StatusCode); } }
private static string GenerateAntiForgeryToken(string instance, UserAccount userAccount) { using (WebRequestHandler handler = new WebRequestHandler()) using (HttpClient client = new HttpClient(handler)) { handler.ServerCertificateValidationCallback += HandleCertificateValidation; client.BaseAddress = new Uri(instance); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.AddBasicAuthenticationHeader(userAccount.AccountName, userAccount.Password); HttpResponseMessage response = client.GetAsync("api/PQMark/GenerateRequestVerficationToken").Result; if (!response.IsSuccessStatusCode) { throw new InvalidOperationException($"Server returned status code {response.StatusCode}: {response.ReasonPhrase}"); } return(response.Content.ReadAsStringAsync().Result); } }
public IHttpActionResult Test(string meter) { using (WebRequestHandler handler = new WebRequestHandler()) using (HttpClient client = new HttpClient(handler)) { handler.ServerCertificateValidationCallback += HandleCertificateValidation; client.BaseAddress = new Uri(InstanceUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.AddBasicAuthenticationHeader(Credential, Password); HttpResponseMessage response = client.GetAsync($"api/Operations/Test/{meter}").Result; if (!response.IsSuccessStatusCode) { return(BadRequest($"Server returned status code {response.StatusCode}: {response.ReasonPhrase}")); } string rsp = response.Content.ReadAsStringAsync().Result; return(Ok(rsp)); } }
public static IEnumerable <T> GetRecords <T>(string instance, string ids, UserAccount userAccount) where T : class { using (WebRequestHandler handler = new WebRequestHandler()) using (HttpClient client = new HttpClient(handler)) { handler.ServerCertificateValidationCallback += HandleCertificateValidation; client.BaseAddress = new Uri(instance); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.AddBasicAuthenticationHeader(userAccount.AccountName, userAccount.Password); HttpResponseMessage response = client.GetAsync($"api/PQMark/GetRecords/{typeof(T).Name}/{ids}").Result; if (!response.IsSuccessStatusCode) { throw new InvalidOperationException($"Server returned status code {response.StatusCode}: {response.ReasonPhrase}"); } Task <IEnumerable <T> > record = response.Content.ReadAsAsync <IEnumerable <T> >(); return(record.Result); } }
private static void AddBasicAuthenticationHeader(HttpClient client) { client.AddBasicAuthenticationHeader(s_userName, s_password); }