public async Task <BookValuation> GetBooksAsync(string title) { var composer = new HttpBookRequestComposer(title); if (!composer.IsCorrectRequest) { await HttpRequestComposer.DisplayAlertAsync(); return(null); } try { var response = await _httpClient.GetAsync(composer.UrlRequest); if (!response.IsSuccessStatusCode) { return(HandleNotSuccessfulResponse()); } var content = await response.Content.ReadAsStringAsync(); _bookValuation = JsonSerializer.Deserialize <BookValuation>(content); UnitOfWork.Books.SaveItems(_bookValuation?.Books); return(_bookValuation); } catch (Exception e) { return(HandleNotSuccessfulResponse()); } }
public async Task <ICollection <Hit> > GetImagesAsync() { var composer = new HttpImageRequestComposer(); if (!composer.IsCorrectRequest) { await HttpRequestComposer.DisplayAlertAsync(); return(null); } var response = await _httpClient.GetAsync(composer.UrlRequest); if (!response.IsSuccessStatusCode) { var list = UnitOfWork.Hits.GetItems(); if (list is not null) { return(list); } HttpResponseHelper.DisplayNotSuccessfulStatusCodeAlert(response); return(null); } var content = await response.Content.ReadAsStringAsync(); var hits = JsonSerializer.Deserialize <GalleryResponse>(content)?.Hits; UnitOfWork.Hits.SaveItems(hits); return(hits); }
public void TestValidateForm() { var composer = new HttpRequestComposer(); bool result = composer.ValidateForm("index.html", "", "GET"); Assert.AreEqual(result, false); }
public void TestParseRawRequest5() { var composer = new HttpRequestComposer(); string rawRequest = "GET /index.php HTTP/1.1\r\n" + "Host: www.example.com.tr\r\n" + "Connection: keepalive\r\n" + "Accept: text / html,application / xhtml + xml,application / xml;q = 0.9,image / webp,*/*;q=0.8"; bool result = composer.ParseRawRequest(rawRequest); Assert.AreEqual(result, true); }
public void TestParseRawRequest3() { var composer = new HttpRequestComposer(); // semicolon is missing for Host heeader string rawRequest = "GET https://www.google.com/ HTTP/1.1\r\n" + "Host www.google.com\r\n" + "Connection: keepalive\r\n" + "Accept: text / html,application / xhtml + xml,application / xml;q = 0.9,image / webp,*/*;q=0.8"; bool result = composer.ParseRawRequest(rawRequest); Assert.AreEqual(result, false); }
public void TestParseRawRequest2() { var composer = new HttpRequestComposer(); // no space between request method and uri string rawRequest = "GEThttps://www.google.com/ HTTP/1.1\r\n" + "Host: www.google.com\r\n" + "Connection: keepalive\r\n" + "Accept: text / html,application / xhtml + xml,application / xml;q = 0.9,image / webp,*/*;q=0.8"; bool result = composer.ParseRawRequest(rawRequest); Assert.AreEqual(result, false); }
public void TestParseRawRequest1() { var composer = new HttpRequestComposer(); string rawRequest = "GET https://www.google.com/ HTTP/1.1\r\n" + "Host: www.google.com\r\n" + "Connection: keepalive\r\n" + "Accept: text / html,application / xhtml + xml,application / xml;q = 0.9,image / webp,*/*;q=0.8\r\n" + "User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36\r\n" + "Accept-Encoding: gzip, deflate\r\n" + "Accept-Language: enUS,en;q=0.8"; bool result = composer.ParseRawRequest(rawRequest); Assert.AreEqual(result, true); }
public void TestValidateForm2() { var composer = new HttpRequestComposer(); bool result = composer.ValidateForm("http://example.com/index.html", "", "GET"); Assert.AreEqual(result, true); }
public async Task TestSendRequest3() { var composer = new HttpRequestComposer(); composer.InitializeHttpRequest("", "www.google.com", "GET"); bool result = await composer.SendRequest(); Assert.AreEqual(result, true); }
public void TestValidateForm4() { var composer = new HttpRequestComposer(); bool result = composer.ValidateForm("http://some invalid url/", "", ""); Assert.AreEqual(result, false); }