1 instantiation of TerminalViewSession
Aspire.Dashboard (1)
Terminal\TerminalViewSessionRegistry.cs (1)
26var session = new TerminalViewSession(endpointPathAndQuery, readOnly, id => _sessions.TryRemove(id, out _));
44 references to TerminalViewSession
Aspire.Dashboard (14)
Components\Controls\TerminalView.razor.cs (1)
36private TerminalViewSession? _viewSession;
Terminal\TerminalViewSessionRegistry.cs (5)
16private readonly ConcurrentDictionary<string, TerminalViewSession> _sessions = new(StringComparer.Ordinal); 24public TerminalViewSession Create(string endpointPathAndQuery, bool readOnly) 26var session = new TerminalViewSession(endpointPathAndQuery, readOnly, id => _sessions.TryRemove(id, out _)); 42public bool TryGet(string id, string endpointPathAndQuery, [NotNullWhen(true)] out TerminalViewSession? session) 44if (_sessions.TryGetValue(id, out var candidate) && candidate.MatchesEndpoint(endpointPathAndQuery))
Terminal\TerminalWebSocketProxy.cs (8)
69if (!TryGetViewSession(context, sessions, out var session)) 139if (!TryGetViewSession(context, sessions, out var session)) 173private static bool TryGetViewSession(HttpContext context, TerminalViewSessionRegistry sessions, out TerminalViewSession? session) 235private static async Task CloseEndedAsync(HttpContext context, TerminalViewSession? session, ILogger logger) 245private static async Task HandleConnectionAsync(HttpContext context, Stream upstream, TerminalViewSession? session, ILogger logger, string connectionId) 308TerminalViewSession? session, ILogger logger, CancellationToken cancellationToken) 333Stream upstream, TerminalViewSession? session, ILogger logger, CancellationToken cancellationToken) 532Hmp1WorkloadAdapter workload, TerminalViewSession? session, GrpcTerminalClientStream? grpc, CancellationToken cancellationToken)
Aspire.Dashboard.Components.Tests (4)
Controls\TerminalViewTests.cs (4)
267Assert.True(registry.TryGet(viewId, "/api/apphost-terminal?terminalId=terminal", out var session)); 295viewId, "/api/apphost-terminal?terminalId=terminal", out var session)); 490Assert.True(registry.TryGet(firstId, "/api/apphost-terminal?terminalId=first", out var firstSession)); 511viewId, "/api/apphost-terminal?terminalId=terminal", out var session));
Aspire.Dashboard.Tests (26)
Integration\Playwright\TerminalTests.cs (3)
36using var session = fixture.DashboardApp.Services.GetRequiredService<TerminalViewSessionRegistry>() 295private static Task SetReadOnlyAsync(IPage page, int terminalId, TerminalViewSession session, bool readOnly) 339private static Task<int> MountModuleAsync(IPage page, TerminalViewSession session, bool chromeless) =>
Model\DashboardClientTests.cs (2)
64using var session = sessions.Create("/api/apphost-terminal?terminalId=terminal", readOnly: false); 183using var session = sessions.Create("/api/apphost-terminal?terminalId=terminal", readOnly: false);
Shared\TerminalTestHost.cs (2)
62public TerminalViewSession CreateViewSession(bool readOnly) => 89public Task<ClientWebSocket> ConnectBrowserAsync(TerminalViewSession session, CancellationToken cancellationToken) =>
Terminal\TerminalViewSessionRegistryTests.cs (9)
16using var first = registry.Create(endpoint, readOnly: false); 17using var second = registry.Create(endpoint, readOnly: false); 18Assert.True(registry.TryGet(first.Id, endpoint, out var connection)); 34var session = registry.Create(endpoint, readOnly: false); 35Assert.True(registry.TryGet(session.Id, endpoint, out var connection)); 51using var session = registry.Create(endpoint, readOnly: false); 52using var otherView = registry.Create(endpoint, readOnly: false); 60Assert.True(registry.TryGet(session.Id, endpoint, out var retained)); 77using var session = registry.Create("/dashboard/api/terminal?resource=a%20b&replica=0", readOnly: true);
Terminal\TerminalWebSocketProxyEndpointTests.cs (1)
144using var session = host.Services.GetRequiredService<TerminalViewSessionRegistry>()
Terminal\TerminalWebSocketTests.cs (9)
380using var session = host.CreateViewSession(readOnly: false); 418using var session = host.CreateViewSession(readOnly: initiallyReadOnly); 470using var session = host.CreateViewSession(readOnly: true); 518using var session = host.CreateViewSession(readOnly); 545using var session = host.CreateViewSession(readOnly: false); 575using var session = host.CreateViewSession(readOnly: false); 594using var session = host.CreateViewSession(readOnly: false); 619using var session = host.CreateViewSession(readOnly: false); 656using var session = host.CreateViewSession(readOnly: false);