1 #ifndef ZYPP_NG_MEDIA_CURL_REQUEST_H_INCLUDED 2 #define ZYPP_NG_MEDIA_CURL_REQUEST_H_INCLUDED 5 #include <zypp-curl/ng/network/TransferSettings> 7 #include <zypp-core/zyppng/base/Base> 8 #include <zypp-core/zyppng/core/Url> 9 #include <zypp-core/zyppng/core/ByteArray> 10 #include <zypp-core/zyppng/base/zyppglobal.h> 11 #include <zypp-core/zyppng/base/signals.h> 12 #include <zypp-core/base/Flags.h> 13 #include <zypp-core/ByteCount.h> 32 class NetworkRequestDispatcher;
33 class NetworkRequestPrivate;
46 using Ptr = std::shared_ptr<NetworkRequest>;
47 using WeakPtr = std::weak_ptr<NetworkRequest>;
83 std::chrono::microseconds
total;
107 void setPriority (
Priority prio,
bool triggerReschedule =
true );
119 void setOptions ( Options opt );
124 Options options ()
const;
130 void addRequestRange (
size_t start,
size_t len = 0, std::optional<zypp::Digest> &&digest = {}, CheckSumBytes expectedChkSum = CheckSumBytes(), std::any userData = std::any(), std::optional<size_t> digestCompareLen = {}, std::optional<size_t> chksumpad = {} );
132 void addRequestRange ( Range &&range );
144 void resetRequestRanges ( );
146 std::vector<Range> failedRanges ()
const;
147 const std::vector<Range> &requestedRanges ()
const;
152 const std::string &lastRedirectInfo()
const;
160 void *nativeHandle ()
const;
166 std::optional<Timings> timings ()
const;
172 std::vector<char> peekData ( off_t offset,
size_t count )
const;
183 void setUrl (
const Url & url );
199 FileMode fileOpenMode ()
const;
205 void setFileOpenMode ( FileMode mode );
211 std::string contentType ()
const;
235 State state ()
const;
240 NetworkRequestError error ()
const;
246 std::string extendedErrorString()
const;
251 bool hasError ()
const;
257 bool addRequestHeader(
const std::string &header );
262 SignalProxy<void ( NetworkRequest &req )> sigStarted ();
267 SignalProxy<void ( NetworkRequest &req, zypp::ByteCount count )> sigBytesDownloaded ();
274 SignalProxy<void ( NetworkRequest &req, off_t dltotal, off_t dlnow, off_t ultotal, off_t ulnow )> sigProgress ();
282 SignalProxy<void ( NetworkRequest &req, const NetworkRequestError &err)> sigFinished ( );
285 friend class NetworkRequestDispatcher;
constexpr std::string_view Url("url")
std::chrono::microseconds connect
Store and operate with byte count.
std::chrono::microseconds pretransfer
std::chrono::microseconds appconnect
std::chrono::microseconds namelookup
std::shared_ptr< NetworkRequest > Ptr
zypp::media::AuthData AuthData
std::weak_ptr< NetworkRequest > WeakPtr
ZYPP_DECLARE_OPERATORS_FOR_FLAGS(zyppng::NetworkRequest::Options)
#define ZYPP_DECLARE_FLAGS(Name, Enum)
std::chrono::microseconds total
std::chrono::microseconds redirect
std::shared_ptr< zypp::Digest > DigestPtr
Easy-to use interface to the ZYPP dependency resolver.
zypp::media::TransferSettings TransferSettings