Ejemplo n.º 1
0
        public UnbxdResult search(UnbxdParams unbxdParams, String address, bool spellCheck)
        {
            String url = prepareUrl(unbxdParams, address);
            try
            {
                HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
                request.Timeout = 5000;
                request.Method = "GET";
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                HttpStatusCode resp = response.StatusCode;
                Stream stream = response.GetResponseStream();
                string json = "";

                using (StreamReader reader = new StreamReader(stream))
                {
                    while (!reader.EndOfStream)
                    {
                        json += reader.ReadLine();
                    }
                }
                UnbxdResult result = getResult(json);
                return result;
            }
            catch (Exception ex)
            {
                throw new UnbxdException("call to api failed");
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            UnbxdService service = new UnbxdService();
            UnbxdParams param = new UnbxdParams();

            param.query = "*";
            param.ruleSet = "search";
            UnbxdResult result = service.search(param, "http://yepme-u1386678484396.search.unbxdapi.com/f12a6e3f0f45fe29babe00f494840f89", false);
            int x = result.totalHits;
        }
Ejemplo n.º 3
0
        private string prepareUrl(UnbxdParams unbxdParams, string address)
        {
            StringBuilder url = new StringBuilder();
            url.Append(address)                         // Validate the address
               .Append(Constants.PATH_SEPERATOR)
               .Append(unbxdParams.ruleSet)             // validate for ruleset
               .Append("?")
               .Append(getQueryParam(unbxdParams));

            int page = unbxdParams.page != 0 ? 1 : unbxdParams.page;
            addParamToUrl(url, Constants.UnbxdQueryParams.PAGE, page.ToString());

            int rows = unbxdParams.limit != 0 ? unbxdParams.limit : 10;
            addParamToUrl(url, Constants.UnbxdQueryParams.ROWS, rows.ToString());

            if (unbxdParams.filter != null && unbxdParams.filter.Count != 0)
            {
                addParamToUrl(url, Constants.UnbxdQueryParams.FILTER, getFilter(unbxdParams.filter, unbxdParams.rangeFilter));
            }

            if (unbxdParams.sort != null && unbxdParams.sort.Count != 0)
            {
                addParamToUrl(url, Constants.UnbxdQueryParams.FILTER, getSort(unbxdParams.sort));
            }

            if (unbxdParams.fields != null && unbxdParams.fields.Count != 0)
            {
                foreach (String field in unbxdParams.fields)
                {
                    addParamToUrl(url, Constants.UnbxdQueryParams.FL, field);
                }
            }

            if (!String.IsNullOrEmpty(unbxdParams.userId))
            {
                addParamToUrl(url, Constants.UnbxdQueryParams.USER_ID, unbxdParams.userId);
            }

            if (!String.IsNullOrEmpty(unbxdParams.userIP))
            {
                addParamToUrl(url, Constants.UnbxdQueryParams.USER_IP, unbxdParams.userIP);
            }

            addParamToUrl(url, Constants.UnbxdQueryParams.FORMAT, Constants.DEFAULT_RESPONSE_FORMAT);

            return url.ToString();
        }
Ejemplo n.º 4
0
        private String getQueryParam(UnbxdParams unbxdParams)
        {
            if (unbxdParams.ruleSet.Equals(Constants.Rulesets.BROWSE, StringComparison.InvariantCultureIgnoreCase))
            {
                return Constants.UnbxdQueryParams.CATEGORY_ID + unbxdParams.categoryId;
            }

            if (unbxdParams.ruleSet.Equals(Constants.Rulesets.FILTER, StringComparison.InvariantCultureIgnoreCase))
            {
                return Constants.UnbxdQueryParams.COND + getFilter(unbxdParams.filter, unbxdParams.rangeFilter);
            }

            return Constants.UnbxdQueryParams.QUERY + "=" + (String.IsNullOrEmpty(unbxdParams.query) ? "*" : unbxdParams.query);
        }