diff --git a/src/Http/Http.Abstractions/src/ConnectionInfo.cs b/src/Http/Http.Abstractions/src/ConnectionInfo.cs
index da26205faa..193ae86e51 100644
--- a/src/Http/Http.Abstractions/src/ConnectionInfo.cs
+++ b/src/Http/Http.Abstractions/src/ConnectionInfo.cs
@@ -8,6 +8,9 @@ using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Http
{
+ ///
+ /// Represents the underlying connection for a request.
+ ///
public abstract class ConnectionInfo
{
///
@@ -15,16 +18,35 @@ namespace Microsoft.AspNetCore.Http
///
public abstract string Id { get; set; }
+ ///
+ /// Gets or sets the IP address of the remote target. Can be null.
+ ///
public abstract IPAddress? RemoteIpAddress { get; set; }
+ ///
+ /// Gets or sets the port of the remote target.
+ ///
public abstract int RemotePort { get; set; }
+ ///
+ /// Gets or sets the IP address of the local host.
+ ///
public abstract IPAddress? LocalIpAddress { get; set; }
+ ///
+ /// Gets or sets the port of the local host.
+ ///
public abstract int LocalPort { get; set; }
+ ///
+ /// Gets or sets the client certificate.
+ ///
public abstract X509Certificate2? ClientCertificate { get; set; }
+ ///
+ /// Retrieves the client certificate.
+ ///
+ /// Asynchronously returns an . Can be null.
public abstract Task GetClientCertificateAsync(CancellationToken cancellationToken = new CancellationToken());
}
}
diff --git a/src/Http/Http.Abstractions/src/Extensions/HeaderDictionaryExtensions.cs b/src/Http/Http.Abstractions/src/Extensions/HeaderDictionaryExtensions.cs
index e942b1b1e9..0cb648032c 100644
--- a/src/Http/Http.Abstractions/src/Extensions/HeaderDictionaryExtensions.cs
+++ b/src/Http/Http.Abstractions/src/Extensions/HeaderDictionaryExtensions.cs
@@ -5,6 +5,9 @@ using Microsoft.Extensions.Primitives;
namespace Microsoft.AspNetCore.Http
{
+ ///
+ /// Contains extension methods for modifying an instance.
+ ///
public static class HeaderDictionaryExtensions
{
///
diff --git a/src/Http/Http.Abstractions/src/Extensions/ResponseTrailerExtensions.cs b/src/Http/Http.Abstractions/src/Extensions/ResponseTrailerExtensions.cs
index 684dcdd164..d2c01717e7 100644
--- a/src/Http/Http.Abstractions/src/Extensions/ResponseTrailerExtensions.cs
+++ b/src/Http/Http.Abstractions/src/Extensions/ResponseTrailerExtensions.cs
@@ -8,6 +8,10 @@ using Microsoft.Net.Http.Headers;
namespace Microsoft.AspNetCore.Http
{
+ ///
+ /// Contains extension methods for modifying the `Trailer` response header
+ /// and trailing headers in an .
+ ///
public static class ResponseTrailerExtensions
{
///
diff --git a/src/Http/Http.Abstractions/src/FragmentString.cs b/src/Http/Http.Abstractions/src/FragmentString.cs
index 6233d7f2a1..a38aca637b 100644
--- a/src/Http/Http.Abstractions/src/FragmentString.cs
+++ b/src/Http/Http.Abstractions/src/FragmentString.cs
@@ -105,6 +105,11 @@ namespace Microsoft.AspNetCore.Http
return new FragmentString(fragmentValue);
}
+ ///
+ /// Evaluates if the current fragment is equal to another fragment .
+ ///
+ /// A to compare.
+ /// if the fragments are equal.
public bool Equals(FragmentString other)
{
if (!HasValue && !other.HasValue)
@@ -114,6 +119,11 @@ namespace Microsoft.AspNetCore.Http
return string.Equals(_value, other._value, StringComparison.Ordinal);
}
+ ///
+ /// Evaluates if the current fragment is equal to an object .
+ ///
+ /// An object to compare.
+ /// if the fragments are equal.
public override bool Equals(object? obj)
{
if (ReferenceEquals(null, obj))
@@ -123,16 +133,32 @@ namespace Microsoft.AspNetCore.Http
return obj is FragmentString && Equals((FragmentString)obj);
}
+ ///
+ /// Gets a hash code for the value.
+ ///
+ /// The hash code as an .
public override int GetHashCode()
{
return (HasValue ? _value.GetHashCode() : 0);
}
+ ///
+ /// Evaluates if one fragment is equal to another.
+ ///
+ /// A instance.
+ /// A instance.
+ /// if the fragments are equal.
public static bool operator ==(FragmentString left, FragmentString right)
{
return left.Equals(right);
}
+ ///
+ /// Evalutes if one framgent is not equal to another.
+ ///
+ /// A instance.
+ /// A instance.
+ /// if the fragments are not equal.
public static bool operator !=(FragmentString left, FragmentString right)
{
return !left.Equals(right);
diff --git a/src/Http/Http.Abstractions/src/HostString.cs b/src/Http/Http.Abstractions/src/HostString.cs
index f9ba89d2f1..41aff88478 100644
--- a/src/Http/Http.Abstractions/src/HostString.cs
+++ b/src/Http/Http.Abstractions/src/HostString.cs
@@ -65,6 +65,9 @@ namespace Microsoft.AspNetCore.Http
get { return _value; }
}
+ ///
+ /// Returns true if the host is set.
+ ///
public bool HasValue
{
get { return !string.IsNullOrEmpty(_value); }
diff --git a/src/Http/Http.Abstractions/src/HttpMethods.cs b/src/Http/Http.Abstractions/src/HttpMethods.cs
index e0204ac762..90055730d6 100644
--- a/src/Http/Http.Abstractions/src/HttpMethods.cs
+++ b/src/Http/Http.Abstractions/src/HttpMethods.cs
@@ -6,7 +6,7 @@ using System;
namespace Microsoft.AspNetCore.Http
{
///
- /// Contains methods to verify the request method of an HTTP request.
+ /// Contains methods to verify the request method of an HTTP request.
///
public static class HttpMethods
{
@@ -18,18 +18,45 @@ namespace Microsoft.AspNetCore.Http
// and allow us to optimize comparisons when these constants are used.
// Please do NOT change these to 'const'
+ ///
+ /// HTTP "CONNECT" method.
+ ///
public static readonly string Connect = "CONNECT";
+ ///
+ /// HTTP "DELETE" method.
+ ///
public static readonly string Delete = "DELETE";
+ ///
+ /// HTTP "GET" method.
+ ///
public static readonly string Get = "GET";
+ ///
+ /// HTTP "HEAD" method.
+ ///
public static readonly string Head = "HEAD";
+ ///
+ /// HTTP "OPTIONS" method.
+ ///
public static readonly string Options = "OPTIONS";
+ ///
+ /// HTTP "PATCH" method.
+ ///
public static readonly string Patch = "PATCH";
+ ///
+ /// HTTP "POST" method.
+ ///
public static readonly string Post = "POST";
+ ///
+ /// HTTP "PUT" method.
+ ///
public static readonly string Put = "PUT";
+ ///
+ /// HTTP "TRACE" method.
+ ///
public static readonly string Trace = "TRACE";
///
- /// Returns a value that indicates if the HTTP request method is CONNECT.
+ /// Returns a value that indicates if the HTTP request method is CONNECT.
///
/// The HTTP request method.
///
@@ -41,7 +68,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Returns a value that indicates if the HTTP request method is DELETE.
+ /// Returns a value that indicates if the HTTP request method is DELETE.
///
/// The HTTP request method.
///
@@ -53,7 +80,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Returns a value that indicates if the HTTP request method is GET.
+ /// Returns a value that indicates if the HTTP request method is GET.
///
/// The HTTP request method.
///
@@ -65,7 +92,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Returns a value that indicates if the HTTP request method is HEAD.
+ /// Returns a value that indicates if the HTTP request method is HEAD.
///
/// The HTTP request method.
///
@@ -77,7 +104,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Returns a value that indicates if the HTTP request method is OPTIONS.
+ /// Returns a value that indicates if the HTTP request method is OPTIONS.
///
/// The HTTP request method.
///
@@ -89,7 +116,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Returns a value that indicates if the HTTP request method is PATCH.
+ /// Returns a value that indicates if the HTTP request method is PATCH.
///
/// The HTTP request method.
///
@@ -101,7 +128,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Returns a value that indicates if the HTTP request method is POST.
+ /// Returns a value that indicates if the HTTP request method is POST.
///
/// The HTTP request method.
///
@@ -113,7 +140,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Returns a value that indicates if the HTTP request method is PUT.
+ /// Returns a value that indicates if the HTTP request method is PUT.
///
/// The HTTP request method.
///
@@ -125,7 +152,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Returns a value that indicates if the HTTP request method is TRACE.
+ /// Returns a value that indicates if the HTTP request method is TRACE.
///
/// The HTTP request method.
///
@@ -156,7 +183,7 @@ namespace Microsoft.AspNetCore.Http
};
///
- /// Returns a value that indicates if the HTTP methods are the same.
+ /// Returns a value that indicates if the HTTP methods are the same.
///
/// The first HTTP request method to compare.
/// The second HTTP request method to compare.
diff --git a/src/Http/Http.Abstractions/src/HttpProtocol.cs b/src/Http/Http.Abstractions/src/HttpProtocol.cs
index a0f1c21b7b..229cb4396c 100644
--- a/src/Http/Http.Abstractions/src/HttpProtocol.cs
+++ b/src/Http/Http.Abstractions/src/HttpProtocol.cs
@@ -6,7 +6,7 @@ using System;
namespace Microsoft.AspNetCore.Http
{
///
- /// Contains methods to verify the request protocol version of an HTTP request.
+ /// Contains methods to verify the request protocol version of an HTTP request.
///
public static class HttpProtocol
{
@@ -18,13 +18,26 @@ namespace Microsoft.AspNetCore.Http
// and allow us to optimize comparisons when these constants are used.
// Please do NOT change these to 'const'
+
+ ///
+ /// HTTP protocol version 1.0.
+ ///
public static readonly string Http10 = "HTTP/1.0";
+ ///
+ /// HTTP protocol version 1.1.
+ ///
public static readonly string Http11 = "HTTP/1.1";
+ ///
+ /// HTTP protocol version 2.
+ ///
public static readonly string Http2 = "HTTP/2";
+ ///
+ /// HTTP protcol version 3.
+ ///
public static readonly string Http3 = "HTTP/3";
///
- /// Returns a value that indicates if the HTTP request protocol is HTTP/1.0.
+ /// Returns a value that indicates if the HTTP request protocol is HTTP/1.0.
///
/// The HTTP request protocol.
///
@@ -36,7 +49,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Returns a value that indicates if the HTTP request protocol is HTTP/1.1.
+ /// Returns a value that indicates if the HTTP request protocol is HTTP/1.1.
///
/// The HTTP request protocol.
///
@@ -48,7 +61,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Returns a value that indicates if the HTTP request protocol is HTTP/2.
+ /// Returns a value that indicates if the HTTP request protocol is HTTP/2.
///
/// The HTTP request protocol.
///
@@ -60,7 +73,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Returns a value that indicates if the HTTP request protocol is HTTP/3.
+ /// Returns a value that indicates if the HTTP request protocol is HTTP/3.
///
/// The HTTP request protocol.
///
diff --git a/src/Http/Http.Abstractions/src/Microsoft.AspNetCore.Http.Abstractions.csproj b/src/Http/Http.Abstractions/src/Microsoft.AspNetCore.Http.Abstractions.csproj
index dfc0ee4740..8fcf928e72 100644
--- a/src/Http/Http.Abstractions/src/Microsoft.AspNetCore.Http.Abstractions.csproj
+++ b/src/Http/Http.Abstractions/src/Microsoft.AspNetCore.Http.Abstractions.csproj
@@ -12,7 +12,7 @@ Microsoft.AspNetCore.Http.HttpResponse
true
true
aspnetcore
- $(NoWarn);CS1591
+ $(NoWarn.Replace('1591', ''))
false
enable
diff --git a/src/Http/Http.Abstractions/src/QueryString.cs b/src/Http/Http.Abstractions/src/QueryString.cs
index f9babe7889..478d972fce 100644
--- a/src/Http/Http.Abstractions/src/QueryString.cs
+++ b/src/Http/Http.Abstractions/src/QueryString.cs
@@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Http
///
/// Initialize the query string with a given value. This value must be in escaped and delimited format with
- /// a leading '?' character.
+ /// a leading '?' character.
///
/// The query string to be assigned to the Value property.
public QueryString(string? value)
@@ -45,7 +45,7 @@ namespace Microsoft.AspNetCore.Http
public bool HasValue => !string.IsNullOrEmpty(Value);
///
- /// Provides the query string escaped in a way which is correct for combining into the URI representation.
+ /// Provides the query string escaped in a way which is correct for combining into the URI representation.
/// A leading '?' character will be included unless the Value is null or empty. Characters which are potentially
/// dangerous are escaped.
///
@@ -56,7 +56,7 @@ namespace Microsoft.AspNetCore.Http
}
///
- /// Provides the query string escaped in a way which is correct for combining into the URI representation.
+ /// Provides the query string escaped in a way which is correct for combining into the URI representation.
/// A leading '?' character will be included unless the Value is null or empty. Characters which are potentially
/// dangerous are escaped.
///
@@ -170,6 +170,11 @@ namespace Microsoft.AspNetCore.Http
return new QueryString(builder.ToString());
}
+ ///
+ /// Concatenates to the current query string.
+ ///
+ /// The to concatenate.
+ /// The concatenated .
public QueryString Add(QueryString other)
{
if (!HasValue || Value!.Equals("?", StringComparison.Ordinal))
@@ -185,6 +190,13 @@ namespace Microsoft.AspNetCore.Http
return new QueryString(Value + "&" + other.Value.Substring(1));
}
+ ///
+ /// Concatenates a query string with and
+ /// to the current query string.
+ ///
+ /// The name of the query string to concatenate.
+ /// The value of the query string to concatenate.
+ /// The concatenated .
public QueryString Add(string name, string value)
{
if (name == null)
@@ -202,6 +214,11 @@ namespace Microsoft.AspNetCore.Http
return new QueryString(builder.ToString());
}
+ ///
+ /// Evalutes if the current query string is equal to .
+ ///
+ /// The to compare.
+ /// if the ssquery strings are equal.
public bool Equals(QueryString other)
{
if (!HasValue && !other.HasValue)
@@ -211,6 +228,11 @@ namespace Microsoft.AspNetCore.Http
return string.Equals(Value, other.Value, StringComparison.Ordinal);
}
+ ///
+ /// Evaluates if the current query string is equal to an object .
+ ///
+ /// An object to compare.
+ /// if the query strings are equal.
public override bool Equals(object? obj)
{
if (ReferenceEquals(null, obj))
@@ -220,21 +242,43 @@ namespace Microsoft.AspNetCore.Http
return obj is QueryString && Equals((QueryString)obj);
}
+ ///
+ /// Gets a hash code for the value.
+ ///
+ /// The hash code as an .
public override int GetHashCode()
{
return (HasValue ? Value!.GetHashCode() : 0);
}
+ ///
+ /// Evaluates if one query string is equal to another.
+ ///
+ /// A instance.
+ /// A instance.
+ /// if the query strings are equal.
public static bool operator ==(QueryString left, QueryString right)
{
return left.Equals(right);
}
+ ///
+ /// Evaluates if one query string is not equal to another.
+ ///
+ /// A instance.
+ /// A instance.
+ /// if the query strings are not equal.
public static bool operator !=(QueryString left, QueryString right)
{
return !left.Equals(right);
}
+ ///
+ /// Concatenates and into a single query string.
+ ///
+ /// A instance.
+ /// A instance.
+ /// The concatenated .
public static QueryString operator +(QueryString left, QueryString right)
{
return left.Add(right);
diff --git a/src/Http/Http.Abstractions/src/Routing/Endpoint.cs b/src/Http/Http.Abstractions/src/Routing/Endpoint.cs
index 1f795f74ad..ea44716e5f 100644
--- a/src/Http/Http.Abstractions/src/Routing/Endpoint.cs
+++ b/src/Http/Http.Abstractions/src/Routing/Endpoint.cs
@@ -44,6 +44,9 @@ namespace Microsoft.AspNetCore.Http
///
public RequestDelegate RequestDelegate { get; }
+ ///
+ /// Returns a string representation of the endpoint.
+ ///
public override string? ToString() => DisplayName ?? base.ToString();
}
}
diff --git a/src/Http/Http.Abstractions/src/Routing/RouteValueDictionary.cs b/src/Http/Http.Abstractions/src/Routing/RouteValueDictionary.cs
index 4f95693da9..4ef18195dc 100644
--- a/src/Http/Http.Abstractions/src/Routing/RouteValueDictionary.cs
+++ b/src/Http/Http.Abstractions/src/Routing/RouteValueDictionary.cs
@@ -187,7 +187,7 @@ namespace Microsoft.AspNetCore.Routing
// We're calling this here for the side-effect of converting from properties
// to array. We need to create the array even if we just set an existing value since
- // property storage is immutable.
+ // property storage is immutable.
EnsureCapacity(_count);
var index = FindIndex(key);
@@ -661,11 +661,16 @@ namespace Microsoft.AspNetCore.Routing
return false;
}
+ ///
public struct Enumerator : IEnumerator>
{
private readonly RouteValueDictionary _dictionary;
private int _index;
+ ///
+ /// Instantiates a new enumerator with the values provided in .
+ ///
+ /// A .
public Enumerator(RouteValueDictionary dictionary)
{
if (dictionary == null)
@@ -679,15 +684,20 @@ namespace Microsoft.AspNetCore.Routing
_index = 0;
}
+ ///
public KeyValuePair Current { get; private set; }
object IEnumerator.Current => Current;
+ ///
+ /// Releases resources used by the .
+ ///
public void Dispose()
{
}
// Similar to the design of List.Enumerator - Split into fast path and slow path for inlining friendliness
+ ///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool MoveNext()
{
@@ -721,6 +731,7 @@ namespace Microsoft.AspNetCore.Routing
return false;
}
+ ///
public void Reset()
{
Current = default;
diff --git a/src/Http/Http.Abstractions/src/StatusCodes.cs b/src/Http/Http.Abstractions/src/StatusCodes.cs
index 3261bce2f2..d3b42b2b10 100644
--- a/src/Http/Http.Abstractions/src/StatusCodes.cs
+++ b/src/Http/Http.Abstractions/src/StatusCodes.cs
@@ -3,77 +3,338 @@
namespace Microsoft.AspNetCore.Http
{
- // Status Codes listed at http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
+ ///
+ /// A collection of contants for HTTP status codes.
+ ///
+ /// Status Codes listed at http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
+ ///
public static class StatusCodes
{
+ ///
+ /// HTTP status code 100.
+ ///
public const int Status100Continue = 100;
+
+ ///
+ /// HTTP status code 101.
+ ///
public const int Status101SwitchingProtocols = 101;
+
+ ///
+ /// HTTP status code 102.
+ ///
public const int Status102Processing = 102;
+ ///
+ /// HTTP status code 200.
+ ///
public const int Status200OK = 200;
+
+ ///
+ /// HTTP status code 201.
+ ///
public const int Status201Created = 201;
+
+ ///
+ /// HTTP status code 202.
+ ///
public const int Status202Accepted = 202;
+
+ ///
+ /// HTTP status code 203.
+ ///
public const int Status203NonAuthoritative = 203;
+
+ ///
+ /// HTTP status code 204.
+ ///
public const int Status204NoContent = 204;
+
+ ///
+ /// HTTP status code 205.
+ ///
public const int Status205ResetContent = 205;
+
+ ///
+ /// HTTP status code 206.
+ ///
public const int Status206PartialContent = 206;
+
+ ///
+ /// HTTP status code 207.
+ ///
public const int Status207MultiStatus = 207;
+
+ ///
+ /// HTTP status code 208.
+ ///
public const int Status208AlreadyReported = 208;
+
+ ///
+ /// HTTP status code 226.
+ ///
public const int Status226IMUsed = 226;
+ ///
+ /// HTTP status code 300.
+ ///
public const int Status300MultipleChoices = 300;
+
+ ///
+ /// HTTP status code 301.
+ ///
public const int Status301MovedPermanently = 301;
+
+ ///
+ /// HTTP status code 302.
+ ///
public const int Status302Found = 302;
+
+ ///
+ /// HTTP status code 303.
+ ///
public const int Status303SeeOther = 303;
+
+ ///
+ /// HTTP status code 304.
+ ///
public const int Status304NotModified = 304;
+
+ ///
+ /// HTTP status code 305.
+ ///
public const int Status305UseProxy = 305;
+
+ ///
+ /// HTTP status code 306.
+ ///
public const int Status306SwitchProxy = 306; // RFC 2616, removed
+
+ ///
+ /// HTTP status code 307.
+ ///
public const int Status307TemporaryRedirect = 307;
+
+ ///
+ /// HTTP status code 308.
+ ///
public const int Status308PermanentRedirect = 308;
+ ///
+ /// HTTP status code 400.
+ ///
+
public const int Status400BadRequest = 400;
+
+ ///
+ /// HTTP status code 401.
+ ///
public const int Status401Unauthorized = 401;
+
+ ///
+ /// HTTP status code 402.
+ ///
public const int Status402PaymentRequired = 402;
+
+ ///
+ /// HTTP status code 403.
+ ///
public const int Status403Forbidden = 403;
+
+ ///
+ /// HTTP status code 404.
+ ///
public const int Status404NotFound = 404;
+
+ ///
+ /// HTTP status code 405.
+ ///
public const int Status405MethodNotAllowed = 405;
+
+ ///
+ /// HTTP status code 406.
+ ///
public const int Status406NotAcceptable = 406;
+
+ ///
+ /// HTTP status code 407.
+ ///
public const int Status407ProxyAuthenticationRequired = 407;
+
+ ///
+ /// HTTP status code 408.
+ ///
public const int Status408RequestTimeout = 408;
+
+ ///
+ /// HTTP status code 409.
+ ///
public const int Status409Conflict = 409;
+
+ ///
+ /// HTTP status code 410.
+ ///
public const int Status410Gone = 410;
+
+ ///
+ /// HTTP status code 411.
+ ///
public const int Status411LengthRequired = 411;
+
+ ///
+ /// HTTP status code 412.
+ ///
public const int Status412PreconditionFailed = 412;
+
+ ///
+ /// HTTP status code 413.
+ ///
public const int Status413RequestEntityTooLarge = 413; // RFC 2616, renamed
+
+ ///
+ /// HTTP status code 413.
+ ///
public const int Status413PayloadTooLarge = 413; // RFC 7231
+
+ ///
+ /// HTTP status code 414.
+ ///
public const int Status414RequestUriTooLong = 414; // RFC 2616, renamed
+
+ ///
+ /// HTTP status code 414.
+ ///
public const int Status414UriTooLong = 414; // RFC 7231
+
+ ///
+ /// HTTP status code 415.
+ ///
public const int Status415UnsupportedMediaType = 415;
+
+ ///
+ /// HTTP status code 416.
+ ///
public const int Status416RequestedRangeNotSatisfiable = 416; // RFC 2616, renamed
+
+ ///
+ /// HTTP status code 416.
+ ///
public const int Status416RangeNotSatisfiable = 416; // RFC 7233
+
+ ///
+ /// HTTP status code 417.
+ ///
public const int Status417ExpectationFailed = 417;
+
+ ///
+ /// HTTP status code 418.
+ ///
public const int Status418ImATeapot = 418;
+
+ ///
+ /// HTTP status code 419.
+ ///
public const int Status419AuthenticationTimeout = 419; // Not defined in any RFC
+
+ ///
+ /// HTTP status code 422.
+ ///
public const int Status421MisdirectedRequest = 421;
+
+ ///
+ /// HTTP status code 422.
+ ///
public const int Status422UnprocessableEntity = 422;
+
+ ///
+ /// HTTP status code 423.
+ ///
public const int Status423Locked = 423;
+
+ ///
+ /// HTTP status code 424.
+ ///
public const int Status424FailedDependency = 424;
+
+ ///
+ /// HTTP status code 426.
+ ///
public const int Status426UpgradeRequired = 426;
+
+ ///
+ /// HTTP status code 428.
+ ///
public const int Status428PreconditionRequired = 428;
+
+ ///
+ /// HTTP status code 429.
+ ///
public const int Status429TooManyRequests = 429;
+
+ ///
+ /// HTTP status code 431.
+ ///
public const int Status431RequestHeaderFieldsTooLarge = 431;
+
+ ///
+ /// HTTP status code 451.
+ ///
public const int Status451UnavailableForLegalReasons = 451;
+ ///
+ /// HTTP status code 500.
+ ///
+
public const int Status500InternalServerError = 500;
+
+ ///
+ /// HTTP status code 501.
+ ///
public const int Status501NotImplemented = 501;
+
+ ///
+ /// HTTP status code 502.
+ ///
public const int Status502BadGateway = 502;
+
+ ///
+ /// HTTP status code 503.
+ ///
public const int Status503ServiceUnavailable = 503;
+
+ ///
+ /// HTTP status code 504.
+ ///
public const int Status504GatewayTimeout = 504;
+
+ ///
+ /// HTTP status code 505.
+ ///
public const int Status505HttpVersionNotsupported = 505;
+
+ ///
+ /// HTTP status code 506.
+ ///
public const int Status506VariantAlsoNegotiates = 506;
+
+ ///
+ /// HTTP status code 507.
+ ///
public const int Status507InsufficientStorage = 507;
+
+ ///
+ /// HTTP status code 508.
+ ///
public const int Status508LoopDetected = 508;
+
+ ///
+ /// HTTP status code 510.
+ ///
public const int Status510NotExtended = 510;
+
+ ///
+ /// HTTP status code 511.
+ ///
public const int Status511NetworkAuthenticationRequired = 511;
}
}
diff --git a/src/Http/Routing.Abstractions/src/IRouter.cs b/src/Http/Routing.Abstractions/src/IRouter.cs
index d16dcba8fe..ad7bac633c 100644
--- a/src/Http/Routing.Abstractions/src/IRouter.cs
+++ b/src/Http/Routing.Abstractions/src/IRouter.cs
@@ -5,10 +5,22 @@ using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Routing
{
+ ///
+ ///
+ ///
public interface IRouter
{
+ ///
+ /// Asynchronously routes based on the current .
+ ///
+ /// A instance.
Task RouteAsync(RouteContext context);
+ ///
+ /// Returns the URL that is assicated with the route details provided in
+ ///
+ /// A instance.
+ /// A object. Can be null.
VirtualPathData? GetVirtualPath(VirtualPathContext context);
}
}
diff --git a/src/Http/Routing.Abstractions/src/LinkOptions.cs b/src/Http/Routing.Abstractions/src/LinkOptions.cs
index 5c1e377bb1..5d63756d23 100644
--- a/src/Http/Routing.Abstractions/src/LinkOptions.cs
+++ b/src/Http/Routing.Abstractions/src/LinkOptions.cs
@@ -3,6 +3,9 @@
namespace Microsoft.AspNetCore.Routing
{
+ ///
+ /// Configures options for generated URLs.
+ ///
public class LinkOptions
{
///
@@ -13,7 +16,7 @@ namespace Microsoft.AspNetCore.Routing
///
/// Gets or sets a value indicating whether a generated query strings are lowercase.
- /// This property will be unless is also true.
+ /// This property will be false unless is also true.
///
public bool? LowercaseQueryStrings { get; set; }
diff --git a/src/Http/Routing.Abstractions/src/Microsoft.AspNetCore.Routing.Abstractions.csproj b/src/Http/Routing.Abstractions/src/Microsoft.AspNetCore.Routing.Abstractions.csproj
index 01a9d07382..3b81f41838 100644
--- a/src/Http/Routing.Abstractions/src/Microsoft.AspNetCore.Routing.Abstractions.csproj
+++ b/src/Http/Routing.Abstractions/src/Microsoft.AspNetCore.Routing.Abstractions.csproj
@@ -7,7 +7,7 @@ Microsoft.AspNetCore.Routing.IRouter
Microsoft.AspNetCore.Routing.RouteData
$(DefaultNetCoreTargetFramework)
true
- $(NoWarn);CS1591
+ $(NoWarn.Replace('1591', ''))
true
aspnetcore;routing
false