using System; using System.Collections.Specialized; using System.IO; using System.Net; using System.Text; namespace EmbedIO { /// /// /// Interface to create a HTTP Request. /// public interface IHttpRequest : IHttpMessage { /// /// Gets the request headers. /// NameValueCollection Headers { get; } /// /// Gets a value indicating whether [keep alive]. /// bool KeepAlive { get; } /// /// Gets the raw URL. /// string RawUrl { get; } /// /// Gets the query string. /// NameValueCollection QueryString { get; } /// /// Gets the HTTP method. /// string HttpMethod { get; } /// /// Gets a constant representing the HTTP method of the request. /// HttpVerbs HttpVerb { get; } /// /// Gets the URL. /// Uri Url { get; } /// /// Gets a value indicating whether this instance has entity body. /// bool HasEntityBody { get; } /// /// Gets the input stream. /// Stream InputStream { get; } /// /// Gets the content encoding. /// Encoding ContentEncoding { get; } /// /// Gets the remote end point. /// IPEndPoint RemoteEndPoint { get; } /// /// Gets a value indicating whether this instance is local. /// bool IsLocal { get; } /// /// Gets a value indicating whether this request has been received over a SSL connection. /// bool IsSecureConnection { get; } /// /// Gets the user agent. /// string UserAgent { get; } /// /// Gets a value indicating whether this instance is web socket request. /// bool IsWebSocketRequest { get; } /// /// Gets the local end point. /// IPEndPoint LocalEndPoint { get; } /// /// Gets the type of the content. /// string? ContentType { get; } /// /// Gets the content length. /// long ContentLength64 { get; } /// /// Gets a value indicating whether this instance is authenticated. /// bool IsAuthenticated { get; } /// /// Gets the URL referrer. /// Uri? UrlReferrer { get; } } }