libzypp  17.38.7
transfersettings.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_CURL_TRANSFER_SETTINGS_H_INCLUDED
13 #define ZYPP_CURL_TRANSFER_SETTINGS_H_INCLUDED
14 
15 #include <string>
16 #include <vector>
17 #include <zypp-core/base/Flags.h>
19 #include <zypp-core/Pathname.h>
20 #include <zypp-core/Url.h>
21 namespace zypp
22 {
23  namespace media
24  {
25 
32  // strings are discarded.
34  {
35  public:
37  static std::ostream & logUserPass( std::ostream & str, const std::string & user_r, const std::string & pass_r );
38 
39  public:
42 
43  using Headers = std::vector<std::string>;
44 
46  void reset();
47 
49  void addHeader( std::string && val_r );
50  void addHeader( const std::string & val_r );
51 
53  const Headers &headers() const;
54 
56  void setUserAgentString( std::string && val_r );
57  void setUserAgentString( const std::string &val_r );
58 
60  const std::string &userAgentString() const;
61 
62 
64  bool hasCredentials() const;
65 
67  std::ostream & logCredentials( std::ostream & str ) const
68  { return logUserPass( str, username(), password() ); }
69 
71  void setUsername( const std::string &val_r );
72  void setUsername( std::string && val_r );
73 
75  const std::string &username() const;
76 
78  void setPassword( const std::string & val_r );
79  void setPassword( std::string && val_r );
80 
82  const std::string &password() const;
83 
85  void setAnonymousAuth();
86 
87 
89  void setProxyEnabled( bool enabled );
90 
92  bool proxyEnabled() const;
93 
94 
96  void setProxy( const std::string &val_r );
97  void setProxy( std::string && val_r );
98 
100  const std::string &proxy() const;
101 
102 
104  bool hasProxyCredentials() const;
105 
107  std::ostream & logProxyCredentials( std::ostream & str ) const
108  { return logUserPass( str, proxyUsername(), proxyPassword() ); }
109 
111  void setProxyUsername( const std::string &val_r );
112  void setProxyUsername( std::string && val_r );
113 
115  const std::string &proxyUsername() const;
116 
118  void setProxyPassword( const std::string &val_r );
119  void setProxyPassword( std::string && val_r );
120 
122  const std::string &proxyPassword() const;
123 
125  std::string proxyUserPassword() const;
126 
127 
129  void setConnectTimeout( long t );
130 
132  long connectTimeout() const;
133 
134 
136  void setTimeout( long t );
137 
139  long timeout() const;
140 
141 
143  void setMaxConcurrentConnections(long v);
144 
146  long maxConcurrentConnections() const;
147 
148 
150  void setMinDownloadSpeed(long v);
151 
153  long minDownloadSpeed() const;
154 
155 
157  void setMaxDownloadSpeed(long v);
158 
160  long maxDownloadSpeed() const;
161 
162 
164  void setMaxSilentTries(long v);
165 
167  long maxSilentTries() const;
168 
169 
171  void setVerifyHostEnabled( bool enabled );
172 
174  bool verifyHostEnabled() const;
175 
176 
178  void setVerifyPeerEnabled( bool enabled );
179 
181  bool verifyPeerEnabled() const;
182 
183 
185  void setCertificateAuthoritiesPath( const Pathname &val_r );
186  void setCertificateAuthoritiesPath( Pathname && val_r );
187 
189  const Pathname &certificateAuthoritiesPath() const;
190 
191 
193  void setAuthType( const std::string &val_r );
194  void setAuthType( std::string && val_r );
195 
197  const std::string &authType() const;
198 
199 
201  void setHeadRequestsAllowed(bool allowed);
202 
204  bool headRequestsAllowed() const;
205 
206 
208  void setClientCertificatePath( const Pathname &val_r );
209  void setClientCertificatePath( Pathname && val_r );
210 
212  const Pathname &clientCertificatePath() const;
213 
214 
216  void setClientKeyPath( const Pathname &val_r );
217  void setClientKeyPath( Pathname && val_r );
218 
220  const Pathname &clientKeyPath() const;
221 
223  void setEnableCookieFile( bool enable = true );
224  bool cookieFileEnabled() const;
225 
226  protected:
227  class Impl;
229  };
230 
232  std::ostream & dumpOn( std::ostream & str, const TransferSettings & obj );
233 
234  } // namespace media
235 } // namespece zypp
236 
237 #endif // ZYPP_CURL_TRANSFER_SETTINGS_H_INCLUDED
long timeout() const
transfer timeout
const Pathname & certificateAuthoritiesPath() const
SSL certificate authorities path ( default: /etc/ssl/certs )
const Pathname & clientCertificatePath() const
SSL client certificate file.
void addHeader(std::string &&val_r)
add a header, on the form "Foo: Bar" (trims)
std::string proxyUserPassword() const
returns the proxy user and password as a user:pass string
const std::string & proxyPassword() const
proxy auth password
void setPassword(const std::string &val_r)
sets the auth password
long maxDownloadSpeed() const
Maximum download speed (bytes per second)
Holds transfer setting.
const std::string & authType() const
get the allowed authentication types
bool verifyHostEnabled() const
Whether to verify host for ssl.
const std::string & proxyUsername() const
proxy auth username
String related utilities and Regular expression matching.
void setUsername(const std::string &val_r)
sets the auth username
void setHeadRequestsAllowed(bool allowed)
set whether HEAD requests are allowed
void setConnectTimeout(long t)
set the connect timeout
std::ostream & dumpOn(std::ostream &str, const TransferSettings &obj)
relates: TransferSettings
const std::string & password() const
auth password
const std::string & username() const
auth username
const Headers & headers() const
returns a list of all added headers (trimmed)
void setAnonymousAuth()
sets anonymous authentication (ie: for ftp)
std::ostream & logProxyCredentials(std::ostream &str) const
log credentials to stream hiding the password.
bool verifyPeerEnabled() const
Whether to verify peer for ssl.
long maxSilentTries() const
Maximum silent retries.
bool hasCredentials() const
has a username, maybe even the password
void setAuthType(const std::string &val_r)
set the allowed authentication types
void setProxy(const std::string &val_r)
proxy to use if it is enabled
long connectTimeout() const
connection timeout
TransferSettings()
Constructs a transfer program cmd line access.
void setMaxSilentTries(long v)
Set maximum silent retries.
void setTimeout(long t)
set the transfer timeout
const Pathname & clientKeyPath() const
SSL client key file.
RWCOW_pointer< Impl > _impl
static std::ostream & logUserPass(std::ostream &str, const std::string &user_r, const std::string &pass_r)
Log credentials to stream hiding the password ("","[user]","[user:########]").
void setMaxDownloadSpeed(long v)
Set max download speed (bytes per second)
long minDownloadSpeed() const
Minimum download speed (bytes per second) until the connection is dropped.
bool proxyEnabled() const
proxy is enabled
void setProxyPassword(const std::string &val_r)
sets the proxy password
void reset()
reset the settings to the defaults
void setMaxConcurrentConnections(long v)
Set maximum number of concurrent connections for a single transfer.
long maxConcurrentConnections() const
Maximum number of concurrent connections for a single transfer.
std::ostream & logCredentials(std::ostream &str) const
log credentials to stream hiding the password.
void setUserAgentString(std::string &&val_r)
sets the user agent ie: "Mozilla v3" (trims)
bool hasProxyCredentials() const
has a proxy username, maybe even the password
void setClientCertificatePath(const Pathname &val_r)
Sets the SSL client certificate file.
void setProxyUsername(const std::string &val_r)
sets the proxy user
void setEnableCookieFile(bool enable=true)
Enable or disable the use of the cookie file.
std::vector< std::string > Headers
void setCertificateAuthoritiesPath(const Pathname &val_r)
Sets the SSL certificate authorities path.
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
void setMinDownloadSpeed(long v)
Set minimum download speed (bytes per second) until the connection is dropped.
const std::string & proxy() const
proxy host
void setVerifyPeerEnabled(bool enabled)
Sets whether to verify host for ssl.
void setClientKeyPath(const Pathname &val_r)
Sets the SSL client key file.
void setVerifyHostEnabled(bool enabled)
Sets whether to verify host for ssl.
const std::string & userAgentString() const
user agent string (trimmed)
bool headRequestsAllowed() const
whether HEAD requests are allowed
void setProxyEnabled(bool enabled)
whether the proxy is used or not