libzypp 17.38.5
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>
19#include <zypp-core/Pathname.h>
20#include <zypp-core/Url.h>
21namespace 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
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 );
187
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
Holds transfer setting.
const std::string & password() const
auth password
void setProxy(const std::string &val_r)
proxy to use if it is enabled
void setProxyEnabled(bool enabled)
whether the proxy is used or not
long maxDownloadSpeed() const
Maximum download speed (bytes per second).
TransferSettings()
Constructs a transfer program cmd line access.
long connectTimeout() const
connection timeout
const std::string & authType() const
get the allowed authentication types
long timeout() const
transfer timeout
void setUsername(const std::string &val_r)
sets the auth username
void reset()
reset the settings to the defaults
long maxSilentTries() const
Maximum silent retries.
const Pathname & clientCertificatePath() const
SSL client certificate file.
long minDownloadSpeed() const
Minimum download speed (bytes per second) until the connection is dropped.
void setProxyUsername(const std::string &val_r)
sets the proxy user
void setHeadRequestsAllowed(bool allowed)
set whether HEAD requests are allowed
const Headers & headers() const
returns a list of all added headers (trimmed)
const std::string & proxy() const
proxy host
const Pathname & clientKeyPath() const
SSL client key file.
void setVerifyHostEnabled(bool enabled)
Sets whether to verify host for ssl.
void setUserAgentString(std::string &&val_r)
sets the user agent ie: "Mozilla v3" (trims)
void setConnectTimeout(long t)
set the connect timeout
void setClientKeyPath(const Pathname &val_r)
Sets the SSL client key file.
void addHeader(std::string &&val_r)
add a header, on the form "Foo: Bar" (trims)
void setMinDownloadSpeed(long v)
Set minimum download speed (bytes per second) until the connection is dropped.
long maxConcurrentConnections() const
Maximum number of concurrent connections for a single transfer.
std::string proxyUserPassword() const
returns the proxy user and password as a user:pass string
void setClientCertificatePath(const Pathname &val_r)
Sets the SSL client certificate file.
bool verifyHostEnabled() const
Whether to verify host for ssl.
const std::string & userAgentString() const
user agent string (trimmed)
bool hasCredentials() const
has a username, maybe even the password
void setPassword(const std::string &val_r)
sets the auth password
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:########]").
bool headRequestsAllowed() const
whether HEAD requests are allowed
const std::string & proxyPassword() const
proxy auth password
void setVerifyPeerEnabled(bool enabled)
Sets whether to verify host for ssl.
bool hasProxyCredentials() const
has a proxy username, maybe even the password
bool proxyEnabled() const
proxy is enabled
void setMaxDownloadSpeed(long v)
Set max download speed (bytes per second).
void setAnonymousAuth()
sets anonymous authentication (ie: for ftp)
std::vector< std::string > Headers
std::ostream & logProxyCredentials(std::ostream &str) const
log credentials to stream hiding the password.
const std::string & username() const
auth username
void setEnableCookieFile(bool enable=true)
Enable or disable the use of the cookie file.
const std::string & proxyUsername() const
proxy auth username
void setAuthType(const std::string &val_r)
set the allowed authentication types
void setCertificateAuthoritiesPath(const Pathname &val_r)
Sets the SSL certificate authorities path.
void setProxyPassword(const std::string &val_r)
sets the proxy password
void setMaxConcurrentConnections(long v)
Set maximum number of concurrent connections for a single transfer.
const Pathname & certificateAuthoritiesPath() const
SSL certificate authorities path ( default: /etc/ssl/certs ).
void setTimeout(long t)
set the transfer timeout
std::ostream & logCredentials(std::ostream &str) const
log credentials to stream hiding the password.
void setMaxSilentTries(long v)
Set maximum silent retries.
bool verifyPeerEnabled() const
Whether to verify peer for ssl.
String related utilities and Regular expression matching.
std::ostream & dumpOn(std::ostream &str, const TransferSettings &obj)
Easy-to use interface to the ZYPP dependency resolver.
RW_pointer supporting 'copy on write' functionality.
Definition PtrTypes.h:469