public override string GetRemoteAddress() { string addr = MonoInternal.GetServerVariable(_request, "REMOTE_ADDR"); if (!string.IsNullOrEmpty(addr)) { return(addr); } return("127.0.0.1"); }
public override int GetRemotePort() { string port = MonoInternal.GetServerVariable(_request, "REMOTE_PORT"); if (!string.IsNullOrEmpty(port)) { int ret; if (int.TryParse(port, out ret)) { return(ret); } } return(80); }
public override string GetLocalAddress() { string address = MonoInternal.GetServerVariable(_request, "SERVER_ADDR"); if (!string.IsNullOrEmpty(address)) { return(address); } address = AddressFromHostName(MonoInternal.GetServerVariable(_request, "HTTP_HOST")); if (!string.IsNullOrEmpty(address)) { return(address); } address = AddressFromHostName(MonoInternal.GetServerVariable(_request, "SERVER_NAME")); if (!string.IsNullOrEmpty(address)) { return(address); } return("localhost"); }
public override bool IsSecure() { return(MonoInternal.GetServerVariable(_request, "HTTPS") == "on"); }
public override string GetServerVariable(string name) { string value = MonoInternal.GetServerVariable(_request, name); if (value != null) { return(value); } if (IsSecure()) { X509Certificate client = ClientCertificate; switch (name) { case "CERT_COOKIE": if (_certCookie == null) { if (client == null) { _certCookie = string.Empty; } else { _certCookie = client.GetCertHashString(); } } return(_certCookie); case "CERT_ISSUER": if (_certIssuer == null) { if (client == null) { _certIssuer = string.Empty; } else { _certIssuer = client.Issuer; } } return(_certIssuer); case "CERT_SERIALNUMBER": if (_certSerial == null) { if (client == null) { _certSerial = string.Empty; } else { _certSerial = client.GetSerialNumberString(); } } return(_certSerial); case "CERT_SUBJECT": if (_certSubject == null) { if (client == null) { _certSubject = string.Empty; } else { _certSubject = client.Subject; } } return(_certSubject); } } return(base.GetServerVariable(name)); }
public override string GetServerName() { return((HostNameFromString(MonoInternal.GetServerVariable(_request, "SERVER_NAME")) ?? HostNameFromString(MonoInternal.GetServerVariable(_request, "HTTP_HOST"))) ?? GetLocalAddress()); }