public IfdAPISession LogIn(string email, string password) { //read a resource from a REST url Uri uri = new Uri(baseUrl + "/api/4.0/session/login"); //Create the request object WebRequest req = WebRequest.Create(uri); var msg = String.Format("email={0}&password={1}", email, password); //msg = HttpUtility.UrlEncode(msg); var data = Encoding.UTF8.GetBytes(msg); req.Method = "POST"; req.ContentLength = data.Length; req.ContentType = "application/x-www-form-urlencoded"; using (var outStream = req.GetRequestStream()) { outStream.Write(data, 0, data.Length); try { using (var resp = req.GetResponse()) { Stream stream = resp.GetResponseStream(); _session = Deserialize <IfdAPISession>(stream); return(_session); } } catch (Exception) { return(null); } } }
public Bsdd(string url, string email, string password) { BaseUrl = $"{url}/api/{Version}"; restclient = new RestClient(BaseUrl); Session = Login(email, password); GetLanguages(); }
public Bsdd() { Protocol = "http"; Domain = "bsdd.buildingsmart.org"; BaseUrl = Protocol + "://" + Domain + "/api/4.0"; restclient = new RestClient(BaseUrl); Session = new IfdAPISession(); GetLanguages(); }
private IfdAPISession Login(string email, string password) { var request = new RestRequest("/session/login", Method.POST); request.AddParameter("email", email); request.AddParameter("password", password); var response = restclient.Execute <IfdAPISession>(request); IfdAPISession session = response.Data; return(session); }
//based on the code from here: http://stackoverflow.com/questions/11164275/how-to-add-cookies-to-webrequest private bool SetSessionCookie(WebRequest webRequest, IfdAPISession session) { Cookie cookie = new Cookie("peregrineapisessionid", session.Guid); HttpWebRequest httpRequest = webRequest as HttpWebRequest; if (httpRequest == null) { return(false); } if (httpRequest.CookieContainer == null) { httpRequest.CookieContainer = new CookieContainer(); } httpRequest.CookieContainer.Add(cookie); return(true); }