| File: IHttpExtendedConnectFeature.cs | Web Access |
| Project: src\aspnetcore\src\Http\Http.Features\src\Microsoft.AspNetCore.Http.Features.csproj (Microsoft.AspNetCore.Http.Features) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics.CodeAnalysis; namespace Microsoft.AspNetCore.Http.Features; /// <summary> /// Used with protocols that require the Extended CONNECT handshake such as HTTP/2 WebSockets and WebTransport. /// https://www.rfc-editor.org/rfc/rfc8441#section-4 /// </summary> public interface IHttpExtendedConnectFeature { /// <summary> /// Indicates if the current request is a Extended CONNECT request that can be transitioned to an opaque connection via AcceptAsync. /// </summary> [MemberNotNullWhen(true, nameof(Protocol))] bool IsExtendedConnect { get; } /// <summary> /// The <c>:protocol</c> header included in the request. /// </summary> string? Protocol { get; } /// <summary> /// Send the response headers with a 200 status code and transition to opaque streaming. /// </summary> /// <returns>An opaque bidirectional stream.</returns> ValueTask<Stream> AcceptAsync(); }