From 4dbc334a9b2aa9adce166328d9ac6d1bfed4e5da Mon Sep 17 00:00:00 2001 From: cantor Date: Wed, 14 Feb 2007 05:27:44 +0000 Subject: [PATCH] Test transport for confidentiality. git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/trunk@257 de75baf8-a10c-0410-a50a-987c0e22f00f --- xmltooling/soap/SOAPTransport.h | 7 +++++++ xmltooling/soap/impl/CURLSOAPTransport.cpp | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/xmltooling/soap/SOAPTransport.h b/xmltooling/soap/SOAPTransport.h index 39a8712..6cf547d 100644 --- a/xmltooling/soap/SOAPTransport.h +++ b/xmltooling/soap/SOAPTransport.h @@ -50,6 +50,13 @@ namespace xmltooling { virtual ~SOAPTransport() {} /** + * Indicates whether transport provides confidentiality. + * + * @return true iff transport layer provides confidentiality + */ + virtual bool isConfidential() const=0; + + /** * Sets the connection timeout. * * @param timeout time to wait for connection to server in seconds, or -1 for no timeout diff --git a/xmltooling/soap/impl/CURLSOAPTransport.cpp b/xmltooling/soap/impl/CURLSOAPTransport.cpp index b2a4298..9741d4b 100644 --- a/xmltooling/soap/impl/CURLSOAPTransport.cpp +++ b/xmltooling/soap/impl/CURLSOAPTransport.cpp @@ -90,6 +90,10 @@ namespace xmltooling { g_CURLPool->put(m_peer.getName(), m_endpoint.c_str(), m_handle); } + bool isConfidential() const { + return m_endpoint.find("https")==0; + } + bool setConnectTimeout(long timeout) const { return (curl_easy_setopt(m_handle,CURLOPT_CONNECTTIMEOUT,timeout)==CURLE_OK); } -- 2.1.4