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)
37private 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)) 122if (!TryGetViewSession(context, sessions, out var session)) 156private static bool TryGetViewSession(HttpContext context, TerminalViewSessionRegistry sessions, out TerminalViewSession? session) 218private static async Task CloseEndedAsync(HttpContext context, TerminalViewSession? session, ILogger logger) 228private static async Task HandleConnectionAsync(HttpContext context, Stream upstream, TerminalViewSession? session, ILogger logger, string connectionId) 291TerminalViewSession? session, ILogger logger, CancellationToken cancellationToken) 316Stream upstream, TerminalViewSession? session, ILogger logger, CancellationToken cancellationToken) 515Hmp1WorkloadAdapter workload, TerminalViewSession? session, GrpcTerminalClientStream? grpc, CancellationToken cancellationToken)
Aspire.Dashboard.Components.Tests (4)
Controls\TerminalViewTests.cs (4)
416Assert.True(registry.TryGet(viewId, "/api/apphost-terminal?terminalId=terminal", out var session)); 444viewId, "/api/apphost-terminal?terminalId=terminal", out var session)); 638Assert.True(registry.TryGet(firstId, "/api/apphost-terminal?terminalId=first", out var firstSession)); 659viewId, "/api/apphost-terminal?terminalId=terminal", out var session));
Aspire.Dashboard.Playwright.Tests (3)
Integration\Playwright\TerminalTests.cs (3)
36using var session = fixture.DashboardApp.Services.GetRequiredService<TerminalViewSessionRegistry>() 466private static Task SetReadOnlyAsync(IPage page, int terminalId, TerminalViewSession session, bool readOnly) 510private static Task<int> MountModuleAsync(IPage page, TerminalViewSession session, bool chromeless) =>
Aspire.Dashboard.Tests (23)
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)
60public TerminalViewSession CreateViewSession(bool readOnly) => 87public 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", readOnly: true);
Terminal\TerminalWebSocketProxyEndpointTests.cs (1)
145using var session = host.Services.GetRequiredService<TerminalViewSessionRegistry>()
Terminal\TerminalWebSocketTests.cs (9)
453using var session = host.CreateViewSession(readOnly: false); 491using var session = host.CreateViewSession(readOnly: initiallyReadOnly); 543using var session = host.CreateViewSession(readOnly: true); 591using var session = host.CreateViewSession(readOnly); 618using var session = host.CreateViewSession(readOnly: false); 648using var session = host.CreateViewSession(readOnly: false); 667using var session = host.CreateViewSession(readOnly: false); 692using var session = host.CreateViewSession(readOnly: false); 729using var session = host.CreateViewSession(readOnly: false);