public async Task <Header> GetCasesFromCountry(string code) { try { if (string.IsNullOrEmpty(code)) { return(null); } HttpRequestResponse response = await new HttpRequest().Get(APILinksBase.CasosMundiais.GetValue().ToString() + "/" + code); if (response.Success) { var cases = JsonConvert.DeserializeObject <Header>(response.HttpResult.Content.ReadAsStringAsync().Result); if (cases != null && cases.data != null) { return(cases); } } Messages.Add(new Message(response.Exception.Message)); return(null); } catch (Exception ex) { Messages.Add(new Message(ex.Message)); return(null); } }
public void Empty_PostData_Test() { MemoryStream stream = GetRequestStream("POST / HTTP/1.1", "Host: Localhost", "Content-Length: 0", ""); HttpRequestResponse httpRequestResponse = new HttpRequestResponse(stream, null, null); Assert.AreEqual(0, httpRequestResponse.Request.PostData.Length); }
public async Task <Boolean> Login(User user) { if (user.Username == null || user.Password == null) { return(false); } IHttpSetter httpSetter = Setter(SFResources.Connect); httpSetter.SetBody(user?.ToJson()); httpSetter.SetMethod(HttpMethod.Put); HttpRequestResponse hrr = await RunRequestFromSetter(httpSetter); if (hrr.Body == "true") { String cookieName = "PHPSESSID="; String s = hrr.Headers.Get("Set-Cookie"); if (s != null) { String sessionId = s.Substring(s.IndexOf(cookieName)); sessionId = sessionId.Substring(0, sessionId.IndexOf(";") + 1); Headers.Add("Cookie", sessionId); } return(true); } else { return(false); } }
public void IsKeepAlive_False_Test() { MemoryStream stream = GetRequestStream("GET / HTTP/1.1", "Host: Localhost", ""); HttpRequestResponse httpRequestResponse = new HttpRequestResponse(stream, null, null); Assert.IsFalse(httpRequestResponse.Request.IsKeepAlive); }
public void PostData_On_Get_Test() { MemoryStream stream = GetRequestStream("GET / HTTP/1.1", "Host: Localhost", ""); HttpRequestResponse httpRequestResponse = new HttpRequestResponse(stream, null, null); Assert.AreEqual(0, httpRequestResponse.Request.PostData.Length); }
public void Simple_Get_Request_Lacking_Host_Header_Test() { //This test should throw an exception as the Host header is required. //Ideally we would be able to better test for this, but for now all we //can do is test for the above generic exception. MemoryStream stream = GetRequestStream("GET / HTTP/1.1", ""); HttpRequestResponse httpRequestResponse = new HttpRequestResponse(stream, null, null); }
public void HttpRequestResponse_Construction_With_Non_Timeout_Stream_Test() { Stream s = GetRequestStream("GET / HTTP/1.1", "Host: Localhost", ""); Assert.IsFalse(s.CanTimeout); HttpRequestResponse httpRequestResponse = new HttpRequestResponse(s, null, null); }
public void Url_Encoded_Urls_Test() { MemoryStream request = GetRequestStream("GET /virDir/A%20Path%20That%20Needs%20Encoding.aspx HTTP/1.1", "Host: Localhost", ""); HttpRequestResponse httpRequestResponse = new HttpRequestResponse(request, null, null); Assert.AreEqual("/virDir/A Path That Needs Encoding.aspx", httpRequestResponse.Request.RawUrl); }
public void Simple_Get_Request_Test() { MemoryStream stream = GetRequestStream("GET / HTTP/1.1", "Host: Localhost", ""); HttpRequestResponse httpRequestResponse = new HttpRequestResponse(stream, null, null); Assert.AreEqual(httpRequestResponse.Request.HttpMethod, "GET"); Assert.AreEqual(httpRequestResponse.Request.RawUrl, "/"); Assert.IsFalse(httpRequestResponse.Request.IsKeepAlive); }
internal HttpParserDelegate(HttpRequestResponse requestResponse) { RequestResponse = requestResponse; var parserStateSubject = new BehaviorSubject <ParserState>(ParserState.Start); _observerParserState = parserStateSubject.AsObserver(); ParserCompletionObservable = parserStateSubject.AsObservable(); }
public void NonEmpty_PostData_Test() { byte[] postedData = new byte[] { 4, 9, 123, 87, 182, 44, 250 }; MemoryStream stream = GetRequestStream("POST / HTTP/1.1", "Host: Localhost", "Content-Length: 7", "", Encoding.ASCII.GetString(postedData)); HttpRequestResponse httpRequestResponse = new HttpRequestResponse(stream, null, null); Assert.AreEqual(postedData, httpRequestResponse.Request.PostData); }
public static async Task <List <PlayerClassRoute> > LoadClassesAsync() { var httpRequestResponse = new HttpRequestResponse(); var classList = new List <PlayerClassRoute>(); foreach (var playerClassValue in PlayerClassRoute.Contents) { var _class = GetPlayerClassAsync(playerClassValue); Debug.Print(_class.name); } return(classList); }
public void HttpRequestResponse_Construction_With_Non_Timeout_Stream_When_Specifying_Timeout_Test() { MockRepository mocks = new MockRepository(); Stream s = mocks.CreateMock <Stream>(); using (mocks.Unordered()) { Expect.Call(s.CanTimeout).Return(false); } mocks.ReplayAll(); HttpRequestResponse httpRequestResponse = new HttpRequestResponse(s, null, null, 400); }
protected async Task <HttpRequestResponse> RunRequestFromSetter(IHttpSetter hs) { HttpRequest hr = hs.Http as HttpRequest; // HttpRequestResponse rr; try { rr = await hr.Run() as HttpRequestResponse; // } catch (Exception e) { rr = new HttpRequestResponse(); rr.Body = "[]"; } return(rr); }
private static async Task <IHttpRequestResponse> ParseAsync( HttpRequestResponse requestResponseObj, CancellationToken ct, params ErrorCorrection[] errorCorrections) { using (var requestHandler = new HttpParserDelegate(requestResponseObj)) using (var httpStreamParser = new HttpStreamParser(requestHandler, errorCorrections)) { var result = await httpStreamParser.ParseAsync(requestResponseObj.ResponseStream, ct); if (httpStreamParser.HasParsingError) { ((HttpRequestResponse)result).HasParsingErrors = httpStreamParser.HasParsingError; } return(result); } }
public async Task <ListOfCasesCity> GetCasesTimeLineFromCity(States state, string codigoIBGE) { try { HttpRequestResponse response = await new HttpRequest().Get(APILinksBase.CasosFull.GetValue().ToString() + "?page_size=10.000&state=" + state.GetValue().ToString() + "&city_ibge_code=" + codigoIBGE); if (response.Success) { var cases = JsonConvert.DeserializeObject <ListOfCasesCity>(response.HttpResult.Content.ReadAsStringAsync().Result); if (cases != null && cases.count > 0) { return(cases); } } Messages.Add(new Message(response.Exception.Message)); return(null); } catch (Exception ex) { Messages.Add(new Message(ex.Message)); return(null); } }
public async Task <ListOfCases> GetCasesFromWorld() { try { HttpRequestResponse response = await new HttpRequest().Get(APILinksBase.CasosMundiais.GetValue().ToString()); if (response.Success) { var cases = JsonConvert.DeserializeObject <ListOfCases>(response.HttpResult.Content.ReadAsStringAsync().Result); if (cases != null && cases.data.Count > 0) { return(cases); } } Messages.Add(new Message(response.Exception.Message)); return(null); } catch (Exception ex) { Messages.Add(new Message(ex.Message)); return(null); } }
public async Task <ListOfCases> GetTimeLineFromState(States state) { try { HttpRequestResponse response = await new HttpRequest().Get(APILinksBase.Casos.GetValue().ToString() + "?page_size=10.000&place_type=state&state=" + state.GetValue().ToString()); if (response.Success) { var cases = JsonConvert.DeserializeObject <ListOfCases>(response.HttpResult.Content.ReadAsStringAsync().Result); if (cases != null && cases.count > 0) { return(cases); } } Messages.Add(new Message(response.Exception.Message)); return(null); } catch (Exception ex) { Messages.Add(new Message(ex.Message)); return(null); } }
public async Task <T> Get <T>(Resource resource, params String[] urlSegments) { IHttpSetter hs = Setter(resource, urlSegments); hs.SetMethod(HttpMethod.Get); HttpRequestResponse rr = await RunRequestFromSetter(hs); T result; try { if (rr.Body == "") { rr.Body = "[]"; } result = JsonConvert.DeserializeObject <T>(rr.Body); } catch (Exception e) { result = default(T); } return(result); }