ProtectionSpace.cpp [plain text]
#include "config.h"
#include "ProtectionSpace.h"
namespace WebCore {
ProtectionSpace::ProtectionSpace()
: m_host("")
, m_realm("")
{
}
ProtectionSpace::ProtectionSpace(const String& host, int port, ProtectionSpaceServerType serverType, const String& realm, ProtectionSpaceAuthenticationScheme authenticationScheme)
: m_host(host.length() ? host : "")
, m_port(port)
, m_serverType(serverType)
, m_realm(realm.length() ? host : "")
, m_authenticationScheme(authenticationScheme)
{
}
const String& ProtectionSpace::host() const
{
return m_host;
}
int ProtectionSpace::port() const
{
return m_port;
}
ProtectionSpaceServerType ProtectionSpace::serverType() const
{
return m_serverType;
}
bool ProtectionSpace::isProxy() const
{
return (m_serverType == ProtectionSpaceProxyHTTP ||
m_serverType == ProtectionSpaceProxyHTTPS ||
m_serverType == ProtectionSpaceProxyFTP ||
m_serverType == ProtectionSpaceProxySOCKS);
}
const String& ProtectionSpace::realm() const
{
return m_realm;
}
ProtectionSpaceAuthenticationScheme ProtectionSpace::authenticationScheme() const
{
return m_authenticationScheme;
}
bool ProtectionSpace::receivesCredentialSecurely() const
{
return (m_serverType == ProtectionSpaceServerHTTPS ||
m_serverType == ProtectionSpaceServerFTPS ||
m_serverType == ProtectionSpaceProxyHTTPS ||
m_authenticationScheme == ProtectionSpaceAuthenticationSchemeHTTPDigest);
}
bool operator==(const ProtectionSpace& a, const ProtectionSpace& b)
{
if (a.host() != b.host())
return false;
if (a.port() != b.port())
return false;
if (a.serverType() != b.serverType())
return false;
if (a.realm() != b.realm())
return false;
if (a.authenticationScheme() != b.authenticationScheme())
return false;
return true;
}
}