Beispiel #1
0
        public IDataReader Find(string contentTypeHeader)
        {
            var type = DataProviderUtility.ParseMediaType(contentTypeHeader);

            var readers = _readersByMime.Where(reader => Regex.Match(type, reader.Key, RegexOptions.Singleline).Success);

            var keyValuePairs = readers as IList <KeyValuePair <string, IDataReader> > ?? readers.ToList();

            return(keyValuePairs.Any() ? keyValuePairs.First().Value : null);
        }
Beispiel #2
0
        public override DataTable GetSchemaTable()
        {
            if (_schemaTable == null)
            {
                _schemaTable = DataProviderUtility.GetNewSchemaTable();
                _schemaTable.Rows.Add("Document", 0, typeof(object), null, false);
            }

            return(_schemaTable);
        }
Beispiel #3
0
        public ColumnProcessor(IEnumerable <IColumn> columns)
        {
            Columns      = columns.ToArray();
            _schemaTable = DataProviderUtility.GetNewSchemaTable();

            int ordinal = 0;

            foreach (var column in columns)
            {
                string name = string.IsNullOrEmpty(column.Alias) ? column.Name.ToName() : column.Alias;
                _schemaTable.Rows.Add(name, ordinal++, typeof(object), column.Name, false);
            }
        }
        public IDataReader Find(string contentTypeHeader)
        {
            var type = DataProviderUtility.ParseMediaType(contentTypeHeader);

            var readers = from reader in _readersByMime
                          where Regex.Match(type, reader.Key, RegexOptions.Singleline).Success
                          select reader;

            if (readers.Count() > 0)
            {
                return(readers.First().Value);
            }
            return(null);
        }
        public static IEnumerable <string> ParseHeaders(string accept, string contentType)
        {
            string mime;

            // check for a matching accept type
            foreach (string type in SplitTrim(accept, ','))
            {
                mime = DataProviderUtility.ParseMediaType(type);
                if (!String.IsNullOrEmpty(mime))
                {
                    yield return(mime);
                }
            }

            // fallback on content-type
            mime = DataProviderUtility.ParseMediaType(contentType);
            if (!String.IsNullOrEmpty(mime))
            {
                yield return(mime);
            }
        }