OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
CurlStreamDefaults.cpp
Go to the documentation of this file.
1 #include "CurlStreamDefaults.h"
5 
6 // defaults to a 1 megabyte block size
7 //
15 
16 static ossimTrace traceDebug("ossimCurlStreamDefaults:debug");
17 
19 {
20  if(traceDebug())
21  {
23  << "ossim::CurlStreamDefaults::loadDefaults() DEBUG: entered.....\n";
24  }
25  ossimString curlReadBlocksize = ossimEnvironmentUtility::instance()->getEnvironmentVariable("OSSIM_PLUGINS_WEB_CURL_READBLOCKSIZE");
26 
27  ossimString nReadCacheHeaders = ossimPreferences::instance()->findPreference("OSSIM_PLUGINS_WEB_CURL_NREADCACHEHEADERS");
28  m_cacert = ossimPreferences::instance()->findPreference("OSSIM_PLUGINS_WEB_CURL_CACERT");
29  m_clientCert = ossimPreferences::instance()->findPreference("OSSIM_PLUGINS_WEB_CURL_CLIENT_CERT");
30  m_clientKey = ossimPreferences::instance()->findPreference("OSSIM_PLUGINS_WEB_CURL_CLIENT_KEY");
31  m_clientKeyPassword = ossimPreferences::instance()->findPreference("OSSIM_PLUGINS_WEB_CURL_CLIENT_KEY_PASSWORD");
32  m_clientCertType = ossimPreferences::instance()->findPreference("OSSIM_PLUGINS_WEB_CURL_CLIENT_KEY_PASSWORD");
33 
34  if(m_cacert.empty())
35  {
36  m_cacert = ossimPreferences::instance()->findPreference("ossim.plugins.web.curl.cacert");
37  }
38  if(m_clientCert.empty())
39  {
40  m_clientCert = ossimPreferences::instance()->findPreference("ossim.plugins.web.curl.clientCert");
41  }
42  if(m_clientKey.empty())
43  {
44  m_clientKey = ossimPreferences::instance()->findPreference("ossim.plugins.web.curl.clientKey");
45  }
47  {
48  m_clientKeyPassword = ossimPreferences::instance()->findPreference("ossim.plugins.web.curl.clientKeyPassword");
49  }
51  {
52  m_clientCertType = ossimPreferences::instance()->findPreference("ossim.plugins.web.curl.clientCertType");
53  }
54  if(curlReadBlocksize.empty())
55  {
56  curlReadBlocksize = ossimPreferences::instance()->findPreference("ossim.plugins.web.curl.readBlocksize");
57  }
58  if(!curlReadBlocksize.empty())
59  {
60  ossim_int64 blockSize = curlReadBlocksize.toInt64();
61  if(blockSize > 0)
62  {
63  ossimString byteType(curlReadBlocksize.begin()+(curlReadBlocksize.size()-1), curlReadBlocksize.end());
64  byteType.upcase();
65  m_readBlocksize = blockSize;
66  if ( byteType == "K")
67  {
68  m_readBlocksize *=static_cast<ossim_int64>(1024);
69  }
70  else if ( byteType == "M")
71  {
72  m_readBlocksize *=static_cast<ossim_int64>(1048576);
73  }
74  else if ( byteType == "G")
75  {
76  m_readBlocksize *=static_cast<ossim_int64>(1073741824);
77  }
78  }
79  }
80  if(nReadCacheHeaders.empty())
81  {
82  nReadCacheHeaders = ossimPreferences::instance()->findPreference("ossim.plugins.web.curl.nReadCacheHeaders");
83  }
84  if(!nReadCacheHeaders.empty())
85  {
86  m_nReadCacheHeaders = nReadCacheHeaders.toInt64();
87  if(m_nReadCacheHeaders < 0)
88  {
89  m_nReadCacheHeaders = 10000;
90  }
91  }
92  if(traceDebug())
93  {
95  << "m_readBlocksize: " << m_readBlocksize << "\n";
97  << "m_nReadCacheHeaders: " << m_nReadCacheHeaders << "\n";
99  << "ossim::CurlStreamDefaults::loadDefaults() DEBUG: leaving.....\n";
100  }
101 }
static ossimString upcase(const ossimString &aString)
Definition: ossimString.cpp:34
std::string::iterator end()
Definition: ossimString.h:423
const char * findPreference(const char *key) const
static ossim_int64 m_readBlocksize
std::string::size_type size() const
Definition: ossimString.h:405
std::string::iterator begin()
Definition: ossimString.h:420
static ossimFilename m_cacert
static ossimFilename m_clientKey
static ossimPreferences * instance()
static ossimEnvironmentUtility * instance()
long long ossim_int64
bool empty() const
Definition: ossimString.h:411
static ossimString m_clientCertType
ossim_int64 toInt64() const
ossimString getEnvironmentVariable(const ossimString &variable) const
static ossimString m_clientKeyPassword
static ossim_int64 m_nReadCacheHeaders
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
static ossimFilename m_clientCert