Esempio n. 1
0
        private string SpecificParametersForRequest(IMediaResourceUploadRequest request)
        {
            string result = "";

            if (null != request.UploadOptions.FileName)
            {
                result += this.restGrammar.FieldSeparator
                          + this.webApiGrammar.ItemNameParameterName
                          + this.restGrammar.KeyValuePairSeparator
                          + UrlBuilderUtils.EscapeDataString(request.UploadOptions.ItemName);
            }

            if (null != request.UploadOptions.ItemTemplatePath)
            {
                result += this.restGrammar.FieldSeparator
                          + this.webApiGrammar.TemplateParameterName
                          + this.restGrammar.KeyValuePairSeparator
                          + UrlBuilderUtils.EscapeDataString(request.UploadOptions.ItemTemplatePath);
            }

            if (null != request.UploadOptions.ParentId)
            {
                result += this.restGrammar.FieldSeparator
                          + this.webApiGrammar.ItemIdParameterName
                          + this.restGrammar.KeyValuePairSeparator
                          + UrlBuilderUtils.EscapeDataString(request.UploadOptions.ParentId);
            }

            return(result);
        }
Esempio n. 2
0
        public string GetFieldValuesList(TRequest request)
        {
            string result = string.Empty;

            bool fieldsAvailable = (null != request.FieldsRawValuesByName);

            if (fieldsAvailable)
            {
                fieldsAvailable = (request.FieldsRawValuesByName.Count > 0);
            }

            if (fieldsAvailable)
            {
                foreach (var fieldElem in request.FieldsRawValuesByName)
                {
                    string escapedFieldName  = UrlBuilderUtils.EscapeDataString(fieldElem.Key);
                    string escapedFieldValue = UrlBuilderUtils.EscapeDataString(fieldElem.Value);
                    result += escapedFieldName
                              + this.restGrammar.KeyValuePairSeparator
                              + escapedFieldValue
                              + this.restGrammar.FieldSeparator;
                }
                result = result.Remove(result.Length - 1);
            }

            return(result);
        }
Esempio n. 3
0
        protected override string GetItemIdenticationForRequest(IReadItemsByQueryRequest request)
        {
            string escapedQuery   = UrlBuilderUtils.EscapeDataString(request.SitecoreQuery);
            string formattedQuery = this.webApiGrammar.SitecoreQueryParameterName + this.restGrammar.KeyValuePairSeparator + escapedQuery;

            return(formattedQuery);
        }
        protected override string GetItemIdenticationForRequest(IReadItemsByIdRequest request)
        {
            string escapedId       = UrlBuilderUtils.EscapeDataString(request.ItemId);
            string strItemId       = this.webApiGrammar.ItemIdParameterName + this.restGrammar.KeyValuePairSeparator + escapedId;
            string lowerCaseItemId = strItemId.ToLowerInvariant();

            return(lowerCaseItemId);
        }
Esempio n. 5
0
        protected override string GetItemIdenticationForRequest(IReadItemsByPathRequest request)
        {
            string escapedPath       = UrlBuilderUtils.EscapeDataString(request.ItemPath.ToLowerInvariant());
            string strItemPath       = this.sscGrammar.ItemPathParameterName + this.restGrammar.KeyValuePairSeparator + escapedPath;
            string lowerCaseItemPath = strItemPath.ToLowerInvariant();

            return(lowerCaseItemPath);
        }
        protected override string GetHostUrlForRequest(ICreateItemByPathRequest request)
        {
            string hostUrl     = base.GetHostUrlForRequest(request);
            string escapedPath = UrlBuilderUtils.EscapeDataString(request.ItemPath.ToLowerInvariant());

            string result = hostUrl + escapedPath;

            return(result);
        }
        protected override string GetHostUrlForRequest(ISitecoreStoredSearchRequest request)
        {
            string hostUrl = base.GetHostUrlForRequest(request);
            string itemId  = UrlBuilderUtils.EscapeDataString(request.ItemId.ToLowerInvariant());

            string result = hostUrl + this.restGrammar.PathComponentSeparator + itemId + sscGrammar.RunStoredSearchAction;

            return(result);
        }
        protected override string GetHostUrlForRequest(IUpdateItemByIdRequest request)
        {
            string hostUrl = base.GetHostUrlForRequest(request);
            string itemId  = UrlBuilderUtils.EscapeDataString(request.ItemId.ToLowerInvariant());

            string result = hostUrl + this.restGrammar.PathComponentSeparator + itemId;

            return(result);
        }
Esempio n. 9
0
        //TODO: igk common part for all requests "by id", we should merge it somehow!!!
        protected override string GetSpecificPartForRequest(IUpdateItemByIdRequest request)
        {
            string escapedId = UrlBuilderUtils.EscapeDataString(request.ItemId).ToLowerInvariant();

            string result =
                this.webApiGrammar.ItemIdParameterName
                + this.restGrammar.KeyValuePairSeparator
                + escapedId;

            return(result);
        }
Esempio n. 10
0
        public string BuildUrlToRequestHashForPath(string path, IDownloadMediaOptions options)
        {
            string originalUrl        = this.BuildUrlStringForPath(path, options);
            string encodedOriginalUrl = UrlBuilderUtils.EscapeDataString(originalUrl);

            var    actionBuilder = new SSCActionBuilder(this.restGrammar, this.sscGrammar);
            string result        = actionBuilder.GetHashedMediaUrlAction(this.sessionConfig);

            result = result +
                     this.restGrammar.HostAndArgsSeparator +
                     this.sscGrammar.UrlForHashingParameterName + this.restGrammar.KeyValuePairSeparator + encodedOriginalUrl;

            return(result);
        }
        private string GetSpecificPartForRequest(IGetRenderingHtmlRequest request)
        {
            string escapedSourceId    = UrlBuilderUtils.EscapeDataString(request.SourceId);
            string escapedRenderingId = UrlBuilderUtils.EscapeDataString(request.RenderingId);
            string result             = this.webApiGrammar.ItemIdParameterName + this.restGrammar.KeyValuePairSeparator + escapedSourceId
                                        + restGrammar.FieldSeparator
                                        + this.webApiGrammar.RenderingIdParameterName + this.restGrammar.KeyValuePairSeparator + escapedRenderingId;

            result = result.ToLowerInvariant();

            //must be case sensitive
            result += this.GetCustomParametersString(request);

            return(result);
        }
        private string GetEntityRoutePath(TRequest request)
        {
            string strItemPath = UrlBuilderUtils.EscapeDataString(request.EntitySource.EntityNamespace)
                                 + restGrammar.PathComponentSeparator
                                 + UrlBuilderUtils.EscapeDataString(request.EntitySource.EntityController)
                                 + restGrammar.PathComponentSeparator;

            if (request.EntitySource.EntityId != null)
            {
                strItemPath = strItemPath + UrlBuilderUtils.EscapeDataString(request.EntitySource.EntityId) + restGrammar.PathComponentSeparator;
            }

            strItemPath = strItemPath + UrlBuilderUtils.EscapeDataString(request.EntitySource.EntityAction);

            return(strItemPath);
        }
Esempio n. 13
0
        public override string GetUrlForRequest(IDeleteItemsByPathRequest request)
        {
            this.Validate(request);

            var    baseUrl     = base.GetBaseUrlForRequest(request);
            string escapedPath = UrlBuilderUtils.EscapeDataString(request.ItemPath.ToLowerInvariant());

            var fullUrl = baseUrl + escapedPath;

            if (!string.IsNullOrEmpty(this.GetParametersString(request)))
            {
                fullUrl += this.RestGrammar.HostAndArgsSeparator
                           + this.GetParametersString(request);
            }

            return(fullUrl.ToLowerInvariant());
        }
        public override string GetUrlForRequest(IDeleteItemsByIdRequest request)
        {
            this.Validate(request);

            string hostUrl = base.GetBaseUrlForRequest(request);
            string itemId  = UrlBuilderUtils.EscapeDataString(request.ItemId.ToLowerInvariant());

            string result = hostUrl + this.RestGrammar.PathComponentSeparator + itemId;

            string parameters = this.GetParametersString(request);

            if (!string.IsNullOrEmpty(parameters))
            {
                result += this.RestGrammar.HostAndArgsSeparator + parameters;
            }

            return(result.ToLowerInvariant());
        }
        public string BuildUrlQueryString()
        {
            string escapedDatabase = null;
            string escapedLanguage = null;

            if (null != this.itemSource)
            {
                escapedDatabase = UrlBuilderUtils.EscapeDataString(this.itemSource.Database);
                escapedLanguage = UrlBuilderUtils.EscapeDataString(this.itemSource.Language);
            }

            string result = string.Empty;

            if (!string.IsNullOrEmpty(escapedDatabase))
            {
                result =
                    result +
                    this.sscGrammar.DatabaseParameterName + this.restGrammar.KeyValuePairSeparator + escapedDatabase;
            }

            if (!string.IsNullOrEmpty(escapedLanguage))
            {
                result =
                    result +
                    this.restGrammar.FieldSeparator +
                    this.sscGrammar.LanguageParameterName + this.restGrammar.KeyValuePairSeparator + escapedLanguage;
            }


            if (this.itemSource != null && this.itemSource.VersionNumber != null)
            {
                int    iVersion   = this.itemSource.VersionNumber.Value;
                string strVersion = iVersion.ToString(CultureInfo.InvariantCulture);


                string escapedVersion = UrlBuilderUtils.EscapeDataString(strVersion);

                result +=
                    this.restGrammar.FieldSeparator +
                    this.sscGrammar.VersionParameterName + this.restGrammar.KeyValuePairSeparator + escapedVersion;
            }

            return(result.ToLowerInvariant());
        }
Esempio n. 16
0
        public override string GetUrlForRequest(ICreateItemByPathRequest request)
        {
            this.Validate(request);

            string hostUrl = base.GetBaseUrlForRequest(request);

            string escapedPath = UrlBuilderUtils.EscapeDataString(request.ItemPath.ToLowerInvariant());

            string result = hostUrl + escapedPath;

            string parameters = this.GetParametersString(request);

            if (!string.IsNullOrEmpty(parameters))
            {
                result += this.RestGrammar.HostAndArgsSeparator + parameters;
            }

            return(result.ToLowerInvariant());
        }
        private string GetFieldsStatementFromCollection(IEnumerable <string> fields)
        {
            string result = this.sscGrammar.FieldsListParameterName + this.restGrammar.KeyValuePairSeparator;

            IRestServiceGrammar restGrammar = this.restGrammar;

            Func <string, string> fieldTransformerFunc = (currentField) =>
            {
                return(restGrammar.ItemFieldSeparator + currentField);
            };
            var fieldsWithSeparators = fields.Select(fieldTransformerFunc);

            string strFieldsList = string.Concat(fieldsWithSeparators);
            string strFieldsListWithoutLeadingSeparator = strFieldsList.Remove(0, 1);

            result += UrlBuilderUtils.EscapeDataString(strFieldsListWithoutLeadingSeparator);

            return(result);
        }
        private string GetCustomParametersString(IGetRenderingHtmlRequest request)
        {
            string result = "";

            if (null != request.ParametersValuesByName)
            {
                foreach (var param in request.ParametersValuesByName)
                {
                    string escapedParamName  = UrlBuilderUtils.EscapeDataString(param.Key);
                    string escapedParamValue = UrlBuilderUtils.EscapeDataString(param.Value);
                    result +=
                        this.restGrammar.FieldSeparator +
                        escapedParamName +
                        this.restGrammar.KeyValuePairSeparator +
                        escapedParamValue;
                }
            }
            return(result);
        }
        public override string GetUrlForRequest(IDeleteItemsByIdRequest request)
        {
            this.Validate(request);

            var baseUrl   = base.GetBaseUrlForRequest(request);
            var escapedId = UrlBuilderUtils.EscapeDataString(request.ItemId);

            var fullUrl = baseUrl
                          + this.RestGrammar.HostAndArgsSeparator
                          + this.WebApiGrammar.ItemIdParameterName
                          + this.RestGrammar.KeyValuePairSeparator
                          + escapedId;

            if (!string.IsNullOrEmpty(this.GetParametersString(request)))
            {
                fullUrl += this.RestGrammar.FieldSeparator
                           + this.GetParametersString(request);
            }

            return(fullUrl.ToLowerInvariant());
        }
Esempio n. 20
0
        protected override string GetSpecificPartForRequest(TRequest request)
        {
            string escapedTemplate = UrlBuilderUtils.EscapeDataString(request.ItemTemplate).ToLowerInvariant();
            string escapedName     = UrlBuilderUtils.EscapeDataString(request.ItemName);

            string result =
                this.webApiGrammar.TemplateParameterName
                + this.restGrammar.KeyValuePairSeparator
                + escapedTemplate;


            if (!string.IsNullOrEmpty(escapedName))
            {
                result = result
                         + this.restGrammar.FieldSeparator
                         + this.webApiGrammar.ItemNameParameterName
                         + this.restGrammar.KeyValuePairSeparator
                         + escapedName;
            }

            return(result);
        }
Esempio n. 21
0
        public override string GetUrlForRequest(IDeleteItemsByQueryRequest request)
        {
            this.Validate(request);

            var    baseUrl      = base.GetBaseUrlForRequest(request);
            string escapedQuery = UrlBuilderUtils.EscapeDataString(request.SitecoreQuery);

            string fullUrl = baseUrl
                             + this.RestGrammar.HostAndArgsSeparator
                             + this.WebApiGrammar.SitecoreQueryParameterName
                             + this.RestGrammar.KeyValuePairSeparator;

            fullUrl = fullUrl.ToLowerInvariant() + escapedQuery;

            if (!string.IsNullOrEmpty(this.GetParametersString(request)))
            {
                var additionalParams = this.RestGrammar.FieldSeparator
                                       + this.GetParametersString(request);
                fullUrl += additionalParams.ToLowerInvariant();
            }

            return(fullUrl);
        }
        public virtual string BuildUrlString(ISessionConfig request)
        {
            this.ValidateRequest(request);

            string autocompletedInstanceUrl = SessionConfigValidator.AutocompleteInstanceUrl(request.InstanceUrl);
            string escapedVersion           = UrlBuilderUtils.EscapeDataString(request.ItemWebApiVersion);

            string result =
                autocompletedInstanceUrl;

            result +=
                this.webApiGrammar.ItemWebApiEndpoint +
                escapedVersion;

            if (!string.IsNullOrEmpty(request.Site))
            {
                string escapedSite = UrlBuilderUtils.EscapeDataString(request.Site);
                result +=
                    escapedSite;
            }

            return(result.ToLowerInvariant());
        }
Esempio n. 23
0
 private string GetCommonPartForRequest(IMediaResourceUploadRequest request)
 {
     return(UrlBuilderUtils.EscapeDataString(this.mediaSettings.MediaLibraryRoot + request.UploadOptions.MediaPath));
 }