public void ValidateTCPProtocolConfiguration(PSNetworkWatcherConnectionMonitorTcpConfiguration tcpProtocolConfiguration) { this.ValidatePort(tcpProtocolConfiguration.Port, throwIfNull: true); if (!string.IsNullOrEmpty(tcpProtocolConfiguration.DestinationPortBehavior) && !string.Equals(tcpProtocolConfiguration.DestinationPortBehavior, "None", StringComparison.OrdinalIgnoreCase) && !string.Equals(tcpProtocolConfiguration.DestinationPortBehavior, "ListenIfAvailable", StringComparison.OrdinalIgnoreCase)) { throw new PSArgumentException(Properties.Resources.UnsupportedDestinationPortBehavior); } }
public override void Execute() { base.Execute(); PSNetworkWatcherConnectionMonitorProtocolConfiguration protocolConfiguration; if (TcpProtocol.IsPresent) { protocolConfiguration = new PSNetworkWatcherConnectionMonitorTcpConfiguration() { Port = this.Port, DisableTraceRoute = this.DisableTraceRoute.IsPresent, DestinationPortBehavior = this.DestinationPortBehavior }; } else if (HttpProtocol.IsPresent) { protocolConfiguration = new PSNetworkWatcherConnectionMonitorHttpConfiguration() { Port = this.Port, Method = this.Method, Path = this.Path, RequestHeaders = this.GetHeaders(), ValidStatusCodeRanges = this.ValidStatusCodeRange?.ToList(), PreferHTTPS = this.PreferHTTPS.IsPresent }; } else if (IcmpProtocol.IsPresent) { protocolConfiguration = new PSNetworkWatcherConnectionMonitorIcmpConfiguration() { DisableTraceRoute = this.DisableTraceRoute.IsPresent }; } else { throw new ArgumentException("Parameter set shall be TCP, HTTP, or ICMP"); } this.Validate(protocolConfiguration); WriteObject(protocolConfiguration); }
public void ValidateTCPProtocolConfiguration(PSNetworkWatcherConnectionMonitorTcpConfiguration tcpProtocolConfiguration) { this.ValidatePort(tcpProtocolConfiguration.Port, throwIfNull: true); }