private void GetDebuggingPageUrl() { if (!string.IsNullOrEmpty(DebuggerSecureKey)) { WebSite site = GetWebSite(); if (null != site) { if (site.Bindings.Length > 0) { ServerBinding serverBinding = site.Bindings[0]; DebuggingPageUrl = string.Format( "{0}://{1}:{2}{3}/?ape_debug=secure-key-{4}_{5}", serverBinding.Protocol, serverBinding.Host ?? serverBinding.IP, serverBinding.Port, folderPath.SelectedFile.Replace('\\', '/'), DebuggerSecureKey, DebuggerSessionId ); } } } // TODO: throw error if url is empty }
private void GetApeDebuggerUrl() { if (RE_APE_DEBUGGER_ENABLED.IsMatch(htaccessContent.Text)) { // already disabled, enable it! ApeDebuggerSecureKey = RE_APE_DEBUGGER_ENABLED.Match(htaccessContent.Text).Groups[2].Value; } ApeDebuggerUrl.Value = ""; if (!string.IsNullOrEmpty(ApeDebuggerSecureKey)) { WebSite site = ES.Services.WebServers.GetWebSite(PanelRequest.ItemID); if (null != site) { if (site.Bindings.Length > 0) { ServerBinding serverBinding = site.Bindings[0]; ApeDebuggerUrl.Value = string.Format("{0}://{1}:{2}{3}?ape_debug={4}", serverBinding.Protocol, serverBinding.Host ?? serverBinding.IP, serverBinding.Port, folderPath.SelectedFile.Replace('\\', '/'), ApeDebuggerSecureKey ); } } } }
private void GetDebuggerUrl() { // TODO: interactive binding selection if (!string.IsNullOrEmpty(DebuggerSecureKey)) { WebSite site = GetWebSite(); if (null != site) { if (site.Bindings.Length > 0) { ServerBinding serverBinding = site.Bindings[0]; DebuggerUrl = string.Format( "{0}://{1}:{2}{3}/_ape_start_developer_session?ape_debug=secure-key-{4}_{5}", serverBinding.Protocol, serverBinding.Host ?? serverBinding.IP, serverBinding.Port, folderPath.SelectedFile.Replace('\\', '/'), DebuggerSecureKey, DebuggerSessionId ); DebuggerUrlField.Value = DebuggerUrl; } } } // TODO: throw error if debugger url is empty }
public void ConstructionTests() { ServerBinding serverLoopback = new ServerBinding("mongo://localhost"); DBBinding b1 = new DBBinding(serverLoopback, "db"); ServerBinding serverLoopback2 = new ServerBinding("mongo://localhost/db2/test/goat"); DBBinding b2 = new DBBinding(serverLoopback, "db"); Assert.That(b1, Is.EqualTo(b2), "should have replaced the database portion if specified"); }
public void ConstructionTests() { //Strings ServerBinding loopback = new ServerBinding("mongo://localhost"); ServerBinding ipv4loopback = new ServerBinding("mongo://127.0.0.1"); ServerBinding ipv6loopback = new ServerBinding("mongo://[::1]"); ServerBinding loopbackport = new ServerBinding("mongo://localhost:1910"); ServerBinding ipv4loopbackport = new ServerBinding("mongo://127.0.0.1:1910"); ServerBinding ipv6loopbackport = new ServerBinding("mongo://[::1]:1910"); Assert.That(loopbackport, Is.Not.EqualTo(loopback), "should differ by port number"); Assert.That(ipv4loopbackport, Is.Not.EqualTo(ipv4loopback), "should differ by port number"); Assert.That(ipv6loopbackport, Is.Not.EqualTo(ipv6loopback), "should differ by port number"); ServerBinding host_port_dbname = new ServerBinding("localhost", 1910); Assert.That(loopbackport, Is.EqualTo(host_port_dbname), "explicit host + port + db should still be equivalent"); }
/// <remarks/> public void UpdateSiteBindingsAsync(string siteId, ServerBinding[] bindings, object userState) { if ((this.UpdateSiteBindingsOperationCompleted == null)) { this.UpdateSiteBindingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSiteBindingsOperationCompleted); } this.InvokeAsync("UpdateSiteBindings", new object[] { siteId, bindings}, this.UpdateSiteBindingsOperationCompleted, userState); }
private void SyncWebSiteBindingsChanges(string siteId, ServerBinding[] bindings) { // ensure site bindings if (bindings == null || bindings.Length == 0) throw new Exception("SiteServerBindingsEmpty"); using (var srvman = GetServerManager()) { var iisObject = srvman.Sites[siteId]; // lock (((ICollection)iisObject.ChildElements).SyncRoot) { // remove all "http" bindings int i = 0; while (i < iisObject.Bindings.Count) { if (String.Equals(iisObject.Bindings[i].Protocol, Uri.UriSchemeHttp, StringComparison.InvariantCultureIgnoreCase)) { iisObject.Bindings.RemoveAt(i); continue; } else { i++; } } // Create HTTP bindings received foreach (var serverBinding in bindings) { var bindingInformation = String.Format("{0}:{1}:{2}", serverBinding.IP, serverBinding.Port, serverBinding.Host); iisObject.Bindings.Add(bindingInformation, Uri.UriSchemeHttp); } } // srvman.CommitChanges(); } }
/// <remarks/> public System.IAsyncResult BeginUpdateSiteBindings(string siteId, ServerBinding[] bindings, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("UpdateSiteBindings", new object[] { siteId, bindings}, callback, asyncState); }
/// <remarks/> public void UpdateSiteBindingsAsync(string siteId, ServerBinding[] bindings) { this.UpdateSiteBindingsAsync(siteId, bindings, null); }
/// <summary> /// Updates site's bindings with supplied ones. /// </summary> /// <param name="siteId">Site's id to update bindings for.</param> /// <param name="bindings">Bindings information.</param> public override void UpdateSiteBindings(string siteId, ServerBinding[] bindings) { this.webObjectsSvc.UpdateSiteBindings(siteId, bindings); }
public void UpdateSiteBindings(string siteId, ServerBinding[] bindings) { this.Invoke("UpdateSiteBindings", new object[] { siteId, bindings}); }
private void SyncWebSiteBindingsChanges(string siteId, ServerBinding[] bindings) { // ensure site bindings if (bindings == null || bindings.Length == 0) throw new Exception("SiteServerBindingsEmpty"); using (var srvman = GetServerManager()) { var iisObject = srvman.Sites[siteId]; // lock (((ICollection)iisObject.ChildElements).SyncRoot) { var itemsToRemove = new List<Binding>(); // Determine HTTP bindings to remove foreach (Binding element in iisObject.Bindings) { if (String.Equals(element.Protocol, Uri.UriSchemeHttp)) { itemsToRemove.Add(element); } } // Remove bindings while (itemsToRemove.Count > 0) { iisObject.Bindings.Remove(itemsToRemove[0]); itemsToRemove.RemoveAt(0); } // Create HTTP bindings received foreach (var serverBinding in bindings) { var bindingInformation = String.Format("{0}:{1}:{2}", serverBinding.IP, serverBinding.Port, serverBinding.Host); iisObject.Bindings.Add(bindingInformation, Uri.UriSchemeHttp); } } // srvman.CommitChanges(); } }
/// <remarks/> public void UpdateSiteBindingsAsync(string siteId, ServerBinding[] bindings, bool emptyBindingsAllowed) { this.UpdateSiteBindingsAsync(siteId, bindings, emptyBindingsAllowed, null); }
protected override void EndSession(TcpClient clientProtocol, ServerBinding binding) { Console.WriteLine("Client Disconnected"); base.EndSession(clientProtocol, binding); }
private void CheckFtpServerBindings(ServerBinding[] bindings) { if (bindings == null || bindings.Length == 0) throw new ArgumentException("Provide FTP site server bindings", "FtpSite.Bindings"); // check for server bindings ManagementObjectCollection objSites = wmi.ExecuteQuery("SELECT * FROM IIsFtpServerSetting"); foreach (ManagementObject objProbSite in objSites) { string probSiteId = (string)objProbSite.Properties["Name"].Value; string probSiteComment = (string)objProbSite.Properties["ServerComment"].Value; // check server bindings ManagementBaseObject[] objProbBinings = (ManagementBaseObject[])objProbSite.Properties["ServerBindings"].Value; if (objProbBinings != null) { // check this binding against provided ones foreach (ManagementBaseObject objProbBinding in objProbBinings) { string siteIP = (string)objProbBinding.Properties["IP"].Value; string sitePort = (string)objProbBinding.Properties["Port"].Value; for (int i = 0; i < bindings.Length; i++) { if (siteIP == bindings[i].IP && sitePort == bindings[i].Port) throw new Exception(String.Format("The FTP site '{0}' ({1}) already uses provided IP and port.", probSiteComment, probSiteId)); } } } } }
protected override void StartSession(TcpClient clientProtocol, ServerBinding binding) { Console.WriteLine("Session Started"); MockClients.Add(clientProtocol); base.StartSession(clientProtocol, binding); }
/// <summary> /// Updates site's bindings with supplied ones. /// </summary> /// <param name="siteId">Site's id to update bindings for.</param> /// <param name="bindings">Bindings information.</param> public override void UpdateSiteBindings(string siteId, ServerBinding[] bindings, bool emptyBindingsAllowed) { this.webObjectsSvc.UpdateSiteBindings(siteId, bindings, emptyBindingsAllowed); }
public void UpdateSiteBindings(string siteId, ServerBinding[] bindings, bool emptyBindingsAllowed) { using (ServerManager srvman = GetServerManager()) { // Ensure web site exists if (!SiteExists(srvman, siteId)) return; } // SyncWebSiteBindingsChanges(siteId, bindings, emptyBindingsAllowed); }
public void UpdateSiteBindings(string siteId, ServerBinding[] bindings) { // Ensure web site exists if (!SiteExists(siteId)) return; // SyncWebSiteBindingsChanges(siteId, bindings); }
public virtual void UpdateSiteBindings(string siteId, ServerBinding[] bindings) { ManagementObject objSite = wmi.GetObject(String.Format("IIsWebServerSetting='{0}'", siteId)); // update bindings ManagementClass clsBinding = wmi.GetClass("ServerBinding"); ManagementObject[] objBinings = new ManagementObject[bindings.Length]; for (int i = 0; i < objBinings.Length; i++) { objBinings[i] = clsBinding.CreateInstance(); objBinings[i]["Hostname"] = bindings[i].Host; objBinings[i]["IP"] = bindings[i].IP; objBinings[i]["Port"] = bindings[i].Port; } objSite.Properties["ServerBindings"].Value = objBinings; objSite.Put(); }
private void SaveDomain(FtpSite site, ServerState state) { StringBuilder sb = new StringBuilder(); // append header sb.Append("[Domain]\n"); // build IP bindings if (site.Bindings != null) { for (int i = 0; i < site.Bindings.Length; i++) { ServerBinding binding = site.Bindings[i]; sb.Append("IP").Append(i).Append("=") .Append((binding.IP == "" || binding.IP == "*") ? "*" : binding.IP).Append(",") .Append(binding.Port).Append(",\n"); } } // site state string domainStatus = "0"; // online "1" - closed, "2" - offline switch (state) { case ServerState.Continuing: domainStatus = "0"; break; // online case ServerState.Paused: domainStatus = "1"; break; // closed case ServerState.Started: domainStatus = "0"; break; // online case ServerState.Stopped: domainStatus = "2"; break; // offline default: domainStatus = "0"; break; // online } sb.Append("Status=").Append(domainStatus).Append("\n"); // footer (default settings) sb.Append(@"LogList0=Default,W3C,""-1,$DOM_NAME-$year-$mm-$dd.log,0"" LogList1=Transfers,W3C,""-1,$DOM_NAME-$year-$mm-$dd.log,0"" LogList2=Bandwidth,W3C,""-1,$DOM_NAME-$year-$mm-$dd.log,0"" MaxClients=0 MaxConnectionsPerIP=0 Running=1392 StatsCurrentlyLogged=0 CanDeleteReadOnly=-1 ChangeDataIPDependingOnClientIP=-1 DontLimitSpeedForLAN=-1 DontLimitTransferForLAN=-1 HammerResetOnLogin=-1 LogCacheEnabled=-1 LogEnabled=-1 NoCompressionForLAN=-1 ResolveIP=-1 TransferLimitType=never"); // save domain file WriteTextFile(GetDomainSettingsPath(site.Name), sb.ToString()); // flush cache FlushCache(); }
public void UpdateSiteBindings(string siteId, ServerBinding[] bindings, bool emptyBindingsAllowed) { this.Invoke("UpdateSiteBindings", new object[] { siteId, bindings, emptyBindingsAllowed}); }