Esempio n. 1
0
        protected IHttpSetter Setter(Resource resource, params String[] urlSegments)
        {
            IHttpSetter hs = Setter();

            SetUri(hs, resource, urlSegments);
            return(hs);
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        private IHttpSetter Setter()
        {
            IHttpSetter hs = NewHttpSetter();

            hs.Http = NewHttpRequest();
            return(hs);
        }
Esempio n. 4
0
        public async Task <HttpRequestResponse> Delete(Resource resource, IJsonable body, params String[] urlSegments)
        {
            IHttpSetter hs = Setter(resource, urlSegments);

            hs.SetMethod(HttpMethod.Delete)
            .SetBody(FormatJson(body?.ToJson()));
            return(await RunRequestFromSetter(hs));
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 private void SetUri(IHttpSetter httpSetter, Resource resource, String[] uriSegments)
 {
     httpSetter.SetUri(resource.TableName);
     httpSetter.SetUri(uriSegments);
 }