// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; namespace Microsoft.AspNet.Http { /// /// Accessors for headers, query, forms, etc. /// public interface IReadableStringCollection : IEnumerable> { /// /// Get the associated value from the collection. Multiple values will be merged. /// Returns null if the key is not present. /// /// /// string this[string key] { get; } /// /// Gets the number of elements contained in the collection. /// int Count { get; } /// /// Gets a collection containing the keys. /// ICollection Keys { get; } /// /// Determines whether the collection contains an element with the specified key. /// /// /// bool ContainsKey(string key); /// /// Get the associated value from the collection. Multiple values will be merged. /// Returns null if the key is not present. /// /// /// [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get", Justification = "Re-evaluate later.")] string Get(string key); /// /// Get the associated values from the collection in their original format. /// Returns null if the key is not present. /// /// /// IList GetValues(string key); } }