1 instantiation of DevTunnelPortResource
Aspire.Hosting.DevTunnels (1)
DevTunnelResourceBuilderExtensions.cs (1)
610var portResource = new DevTunnelPortResource(
72 references to DevTunnelPortResource
Aspire.Hosting.DevTunnels (37)
DevTunnelMonitor.cs (12)
41private readonly Dictionary<DevTunnelPortResource, Task> _endpointEvents = []; 42private readonly HashSet<DevTunnelPortResource> _allocatedEndpoints = []; 43private readonly Dictionary<DevTunnelPortResource, Exception> _endpointErrors = []; 69var ports = new Dictionary<DevTunnelPortResource, int>(); 70foreach (var port in _resource.Ports) 82foreach (var port in ports.Keys) 105foreach (var port in _resource.Ports) 323private async Task RefreshAccessAsync(Run run, DevTunnelPortResource? port, int? portNumber) 628private async Task PublishEndpointEventAsync(DevTunnelPortResource port) 678private Task DeactivatePortUrlsAsync(DevTunnelPortResource port) 772private sealed class Run(string tunnelId, Dictionary<DevTunnelPortResource, int> expectedPorts, string friendlyTunnelId, DateTimeOffset startedAt, CancellationToken stoppingToken) 775public Dictionary<DevTunnelPortResource, int> ExpectedPorts { get; } = expectedPorts;
DevTunnelResource.cs (2)
37internal List<DevTunnelPortResource> Ports { get; } = []; 61/// Initializes a new instance of the <see cref="DevTunnelPortResource"/> class, representing a single forwarded endpoint/port on a dev tunnel.
DevTunnelResourceBuilderExtensions.cs (23)
158foreach (var portResource in tunnelResource.Ports) 192async Task StartPortAsync(DevTunnelPortResource portResource) 440var portResource = tunnelBuilder.Resource.Ports 463var portResource = tunnelBuilder.Resource.Ports 522foreach (var port in tunnelResource.Resource.Ports.Where(p => p.TargetEndpoint.Resource == targetResource.Resource)) 610var portResource = new DevTunnelPortResource( 635DevTunnelPortResource.ShowTunnelUrlsCommandName, 666if (urls.FirstOrDefault(u => string.Equals(u.Endpoint?.EndpointName, DevTunnelPortResource.TunnelEndpointName, StringComparisons.EndpointAnnotationName) 674if (urls.FirstOrDefault(u => string.Equals(u.Endpoint?.EndpointName, DevTunnelPortResource.TunnelEndpointName, StringComparisons.EndpointAnnotationName) 687var portResource = (DevTunnelPortResource)context.Resource; 717internal static async Task UpdatePortAsync(DevTunnelPortResource portResource, bool available, ResourceNotificationService notifications, ResourceLoggerService logs, CancellationToken cancellationToken) 774if (string.Equals(url.Name, DevTunnelPortResource.TunnelEndpointName, StringComparisons.EndpointAnnotationName) 799internal static async Task UpdatePortAccessAsync(DevTunnelPortResource portResource, ResourceNotificationService notifications, ResourceLoggerService logs, DateTimeOffset now) 820internal static async Task StopPortAsync(DevTunnelPortResource portResource, IServiceProvider services, CancellationToken cancellationToken) 846private static async Task<ExecuteCommandResult> ShowTunnelUrlsAsync(DevTunnelPortResource portResource, ExecuteCommandContext context) 881private static List<ResourcePropertySnapshot> GetUrlProperties(DevTunnelPortResource portResource) 890new(DevTunnelPortResource.TunnelUrlPropertyName, NormalizeUrl(portUri)) 899properties.Add(new(DevTunnelPortResource.InspectUrlPropertyName, inspectUrl) 908properties.Add(new(DevTunnelPortResource.LocalEndpointUrlPropertyName, localUrl) 930name is DevTunnelPortResource.TunnelUrlPropertyName 931or DevTunnelPortResource.InspectUrlPropertyName 932or DevTunnelPortResource.LocalEndpointUrlPropertyName;
Aspire.Hosting.DevTunnels.Tests (31)
DevTunnelMonitorTests.cs (1)
562var otherPort = Assert.Single(test.Tunnel.Ports, p => p.TargetEndpoint.EndpointName == "other");
DevTunnelResourceBuilderExtensionsTests.cs (29)
32var tunnelPort = tunnel.Resource.Ports.FirstOrDefault(); 97var port = tunnel.Resource.Ports.First(); 111var tunnelPort = Assert.Single(tunnel.Resource.Ports); 126var tunnelPort = Assert.Single(tunnel.Resource.Ports); 145var tunnelPort = Assert.Single(tunnel.Resource.Ports); 165var tunnelPort = Assert.Single(tunnel.Resource.Ports); 216var tunnelPort = Assert.Single(tunnel.Resource.Ports); 256var tunnelPort = Assert.Single(tunnel.Resource.Ports); 297var port = Assert.Single(tunnel.Resource.Ports); 359var port = Assert.Single(tunnel.Resource.Ports); 393Assert.Equal(DevTunnelPortResource.TunnelEndpointName, tunnelEndpoint.EndpointName); 410Assert.Equal(DevTunnelPortResource.TunnelEndpointName, tunnelEndpoint.EndpointName); 428Assert.Equal(DevTunnelPortResource.TunnelEndpointName, tunnelEndpoint.EndpointName); 506Assert.Equal(DevTunnelPortResource.TunnelEndpointName, httpTunnelEndpoint.EndpointName); 507Assert.Equal(DevTunnelPortResource.TunnelEndpointName, httpsTunnelEndpoint.EndpointName); 524var port = Assert.Single(tunnel.Resource.Ports); 532var command = Assert.Single(port.Annotations.OfType<ResourceCommandAnnotation>(), a => a.Name == DevTunnelPortResource.ShowTunnelUrlsCommandName); 614var port = Assert.Single(tunnel.Resource.Ports); 620var command = Assert.Single(port.Annotations.OfType<ResourceCommandAnnotation>(), a => a.Name == DevTunnelPortResource.ShowTunnelUrlsCommandName); 662var port = Assert.Single(tunnel.Resource.Ports); 668var command = Assert.Single(port.Annotations.OfType<ResourceCommandAnnotation>(), a => a.Name == DevTunnelPortResource.ShowTunnelUrlsCommandName); 731var tunnelPort = Assert.Single(tunnel.Resource.Ports); 836var port = Assert.Single(tunnel.Resource.Ports); 850DevTunnelPortResource.TunnelUrlPropertyName or 851DevTunnelPortResource.InspectUrlPropertyName or 852DevTunnelPortResource.LocalEndpointUrlPropertyName), 855Assert.Equal(DevTunnelPortResource.TunnelUrlPropertyName, property.Name); 862Assert.Equal(DevTunnelPortResource.InspectUrlPropertyName, property.Name); 869Assert.Equal(DevTunnelPortResource.LocalEndpointUrlPropertyName, property.Name);
TestDevTunnelMonitor.cs (1)
55public DevTunnelPortResource Port { get; }
Aspire.Hosting.Maui.Tests (2)
MauiPlatformExtensionsTests.cs (2)
840Assert.Equal("http", Assert.Single(appBuilder.Resources.OfType<DevTunnelPortResource>()).Options.Protocol); 1038Assert.Equal("http", Assert.Single(appBuilder.Resources.OfType<DevTunnelPortResource>()).Options.Protocol);
Aspire.Hosting.Tests (2)
Dcp\DcpExecutorTests.cs (2)
1480var tunnelPort = Assert.Single(distributedAppModel.Resources.OfType<DevTunnelPortResource>());