internal WebAPIRequest(WebMethodType methodType, String url, String path, String messageBody) { MethodType = methodType; RawUrl = url; Path = path; MessageBody = messageBody; }
internal WebAPIRequest(WebMethodType methodType, String url, String path, String messageBody) { MethodType = methodType; RawUrl = url; Path = path; MessageBody = messageBody; }
private bool isTokenValid(string token, WebMethodType type) { bool isValid = true; if (token == "") { isValid = false; } else { isValid = CheckTokenValidity(token).Result; } return(isValid); }
/// <summary> /// for parameterless requests /// </summary> /// <typeparam name="TRes"></typeparam> /// <param name="actionUrl">action url except base api url</param> /// <param name="methodType">request method type</param> /// <returns></returns> public async Task <HttpClientResponse <TRes> > InvokeApi <TRes>(string actionUrl, WebMethodType methodType = WebMethodType.Post) { Uri url = new Uri(new Uri(_apiBaseUrl), actionUrl); using (System.Net.Http.HttpClient client = new System.Net.Http.HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); switch (methodType) { case WebMethodType.Get: using (var response = await client.GetAsync(url)) { if (response.StatusCode != HttpStatusCode.OK) { return(new HttpClientResponse <TRes> { HttpStatusCode = response.StatusCode }); } var data = await response.Content.ReadAsStringAsync(); var json = GetParsedData <TRes>(data); //JObject.Parse(data); return(new HttpClientResponse <TRes> { HttpStatusCode = response.StatusCode, ResponseData = json }); } case WebMethodType.Post: using (var response = await client.PostAsync(url, null)) { if (response.StatusCode != HttpStatusCode.OK) { return(new HttpClientResponse <TRes> { HttpStatusCode = response.StatusCode }); } var data = await response.Content.ReadAsStringAsync(); var json = GetParsedData <TRes>(data); //JObject.Parse(data); return(new HttpClientResponse <TRes> { HttpStatusCode = response.StatusCode, ResponseData = json }); } default: throw new ArgumentOutOfRangeException(nameof(methodType), methodType, null); } } }
/// <summary> /// for parameterless requests and no need to get any response content /// </summary> /// <param name="actionUrl"></param> /// <param name="methodType">request method type</param> /// <returns></returns> public async Task <HttpClientResponse <ApiResponse> > InvokeApi(string actionUrl, WebMethodType methodType = WebMethodType.Post) { Uri url = new Uri(new Uri(_apiBaseUrl), actionUrl); using (System.Net.Http.HttpClient client = new System.Net.Http.HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // Get Token using (var response = await client.PostAsync(url, null)) { if (response.StatusCode != HttpStatusCode.OK) { return(new HttpClientResponse <ApiResponse> { HttpStatusCode = response.StatusCode }); } var data = await response.Content.ReadAsStringAsync(); var json = GetParsedData <ApiResponse>(data); //JObject.Parse(data); return(new HttpClientResponse <ApiResponse> { HttpStatusCode = response.StatusCode, ResponseData = json }); } } }