Esempio n. 1
0
        public void BuildHeader(IHeaderRegion region, string content)
        {
            var hasEmptyHeaders = region.Headers?.Any(value => !string.IsNullOrEmpty(value.Name)) ?? false;

            if (hasEmptyHeaders)
            {
                return;
            }

            var isValidJson = content?.IsValidJson() ?? false;

            if (isValidJson)
            {
                var jsonHeader = new NameValue(GlobalConstants.ContentType, GlobalConstants.ApplicationJsonHeader);

                SetupHeader(region, jsonHeader);
            }
            else
            {
                var isValidXml = content.IsValidXml();
                if (isValidXml)
                {
                    var jsonHeader = new NameValue(GlobalConstants.ContentType, GlobalConstants.ApplicationXmlHeader);

                    SetupHeader(region, jsonHeader);
                }
            }
        }
Esempio n. 2
0
        public void BuildHeader(IHeaderRegion region, string content)
        {
            var hasEmptyHeaders = region.Headers?.Any(value => !string.IsNullOrEmpty(value.Name)) ?? false;

            if (hasEmptyHeaders)
            {
                return;
            }

            var isValidJson = content?.IsValidJson() ?? false;

            if (isValidJson && !(content == "{}"))
            {
                var jsonHeader = new NameValue(GlobalConstants.ContentType, GlobalConstants.ApplicationJsonHeader);

                region.Headers = new ObservableCollection <INameValue> {
                    jsonHeader, new NameValue()
                };
            }
            else
            {
                var isValidXml = content.IsValidXml();
                if (isValidXml)
                {
                    var jsonHeader = new NameValue(GlobalConstants.ContentType, GlobalConstants.ApplicationXmlHeader);

                    region.Headers = new ObservableCollection <INameValue> {
                        jsonHeader, new NameValue()
                    };
                }
            }
        }
Esempio n. 3
0
        static void SetupHeader(IHeaderRegion region, NameValue jsonHeader)
        {
            if (region.Headers == null ||
                region.Headers.All(value => string.IsNullOrEmpty(value.Value) && string.IsNullOrEmpty(value.Name)))
            {
                region.Headers = new ObservableCollection <INameValue> {
                    jsonHeader, new NameValue()
                };
            }
            else
            {
                bool ExistingHeaders(INameValue value) => value.Name.Equals(jsonHeader.Name, StringComparison.InvariantCultureIgnoreCase) &&
                value.Value.Equals(jsonHeader.Value, StringComparison.InvariantCultureIgnoreCase);

                var emptyHeader = region.Headers.FirstOrDefault(value => string.IsNullOrEmpty(value.Name) && string.IsNullOrEmpty(value.Value));
                region.Headers.Remove(emptyHeader);
                if (!region.Headers.Any(ExistingHeaders))
                {
                    region.Headers.Add(jsonHeader);
                }
                region.Headers.Add(emptyHeader);
            }
        }