Early Preview
This is currently very much a preview. Please feel free to try things out,
but don't be upset if anything is not yet working. Feedback is welcome over on our
GitHub Dicussions page.
interface Microsoft.​AspNetCore.​Http.​Features.​IHttpRequestFeature
Assembly: Microsoft.AspNetCore.Http.Features
Contains the details of a given request. These properties should all be mutable. None of these properties should ever be set to null.
Properties
string
Protocol
Gets or set the HTTP-version as defined in RFC 7230. E.g. "HTTP/1.1"
string
Scheme
Gets or set the request uri scheme. E.g. "http" or "https".
<para>
Note this value is not included in the original request,
it is inferred by checking if the transport used a TLS
connection or not.
</para>
string
Method
Gets or sets the request method as defined in RFC 7230. E.g. "GET", "HEAD", "POST", etc..
string
PathBase
Gets or sets the first portion of the request path associated with application root.
<para>
The value is un-escaped. The value may be <see cref="F:System.String.Empty" />.
</para>
string
Path
Gets or sets the portion of the request path that identifies the requested resource.
<para>
The value may be <see cref="F:System.String.Empty" /> if <see cref="P:Microsoft.AspNetCore.Http.Features.IHttpRequestFeature.PathBase" /> contains the full path,
or for 'OPTIONS *' requests.
The path is fully decoded by the server except for '%2F', which would decode to '/' and
change the meaning of the path segments. '%2F' can only be replaced after splitting the path into segments.
</para>
string
QueryString
Gets or sets the query portion of the request-target as defined in RFC 7230. The value
may be <see cref="F:System.String.Empty" /> . If not empty then the leading '?' will be included. The value
is in its original form, without un-escaping.
string
RawTarget
Gets or sets the request target as it was sent in the HTTP request.
<para>
This property contains the raw path and full query, as well as other request targets
such as * for OPTIONS requests (<see href="https://tools.ietf.org/html/rfc7230#section-5.3" />).
</para>
Remarks This property is not used internally for routing or authorization decisions. It has not
been UrlDecoded and care should be taken in its use.
Headers
Gets or sets headers included in the request, aggregated by header name.
<para>
The values are not split or merged across header lines. E.g. The following headers:
<list type="bullet"><item><description>HeaderA: value1, value2</description></item><item><description>HeaderA: value3</description></item></list>
Result in Headers["HeaderA"] = { "value1, value2", "value3" }
</para>
Gets or sets a <see cref="T:System.IO.Stream" /> representing the request body, if any.
<para>
<see cref="F:System.IO.Stream.Null" /> may be used to represent an empty request body.
</para>