namespace CurlSharp { /// /// This enumeration is used to extract information associated with an /// transfer. Specifically, a member of this /// enumeration is passed as the first argument to /// CurlEasy.GetInfo specifying the item to retrieve in the /// second argument, which is a reference to an int, a /// double, a string, a DateTime or an object. /// public enum CurlInfo { /// /// The second argument receives the elapsed time, as a double, /// in seconds, from the start until the connect to the remote host /// (or proxy) was completed. /// ConnectTime = 0x300005, /// /// The second argument receives, as a double, the content-length /// of the download. This is the value read from the Content-Length: field. /// ContentLengthDownload = 0x30000F, /// /// The second argument receives, as a double, the specified size /// of the upload. /// ContentLengthUpload = 0x300010, /// /// The second argument receives, as a string, the content-type of /// the downloaded object. This is the value read from the Content-Type: /// field. If you get null, it means that the server didn't /// send a valid Content-Type header or that the protocol used /// doesn't support this. /// ContentType = 0x100012, /// /// The second argument receives, as a string, the last /// used effective URL. /// EffectiveUrl = 0x100001, /// /// The second argument receives, as a long, the remote time /// of the retrieved document. You should construct a DateTime /// from this value, as shown in the InfoDemo sample. If you /// get a date in the distant /// past, it can be because of many reasons (unknown, the server /// hides it or the server doesn't support the command that tells /// document time etc) and the time of the document is unknown. Note /// that you must tell the server to collect this information before /// the transfer is made, by using the /// option to /// . (Added in 7.5) /// Filetime = 0x20000E, /// /// The second argument receives an int specifying the total size /// of all the headers received. /// HeaderSize = 0x20000B, /// /// The second argument receives, as an int, a bitmask indicating /// the authentication method(s) available. The meaning of the bits is /// explained in the documentation of /// . (Added in 7.10.8) /// HttpAuthAvail = 0x200017, /// /// The second argument receives an int indicating the numeric /// connect code for the HTTP request. /// HttpConnectCode = 0x200016, /// /// End-of-enumeration marker; do not use in client applications. /// LastOne = 0x1C, /// /// The second argument receives, as a double, the time, in /// seconds it took from the start until the name resolving was /// completed. /// NameLookupTime = 0x300004, /// /// Never used. /// None = 0x0, /// /// The second argument receives an int indicating the /// number of current connections. (Added in 7.13.0) /// NumConnects = 0x20001A, /// /// The second argument receives an int indicating the operating /// system error number: _errro or GetLastError(), /// depending on the platform. (Added in 7.12.2) /// OsErrno = 0x200019, /// /// The second argument receives, as a double, the time, in /// seconds, it took from the start until the file transfer is just about /// to begin. This includes all pre-transfer commands and negotiations /// that are specific to the particular protocol(s) involved. /// PreTransferTime = 0x300006, /// /// The second argument receives a reference to the private data /// associated with the object (set with the /// option to /// . (Added in 7.10.3) /// Private = 0x100015, /// /// The second argument receives, as an int, a bitmask /// indicating the authentication method(s) available for your /// proxy authentication. This will be a bitmask of /// enumeration constants. /// (Added in 7.10.8) /// ProxyAuthAvail = 0x200018, /// /// The second argument receives an int indicating the total /// number of redirections that were actually followed. (Added in 7.9.7) /// RedirectCount = 0x200014, /// /// The second argument receives, as a double, the total time, in /// seconds, for all redirection steps include name lookup, connect, /// pretransfer and transfer before final transaction was started. /// RedirectTime contains the complete execution /// time for multiple redirections. (Added in 7.9.7) /// RedirectTime = 0x300013, /// /// The second argument receives an int containing the total size /// of the issued requests. This is so far only for HTTP requests. Note /// that this may be more than one request if /// is true. /// RequestSize = 0x20000C, /// /// The second argument receives an int with the last received HTTP /// or FTP code. This option was known as CURLINFO_HTTP_CODE in /// libcurl 7.10.7 and earlier. /// ResponseCode = 0x200002, /// /// The second argument receives a double with the total amount of /// bytes that were downloaded. The amount is only for the latest transfer /// and will be reset again for each new transfer. /// SizeDownload = 0x300008, /// /// The second argument receives a double with the total amount /// of bytes that were uploaded. /// SizeUpload = 0x300007, /// /// The second argument receives a double with the average /// download speed that cURL measured for the complete download. /// SpeedDownload = 0x300009, /// /// The second argument receives a double with the average /// upload speed that libcurl measured for the complete upload. /// SpeedUpload = 0x30000A, /// /// The second argument receives an containing /// the names of the available Ssl engines. /// SslEngines = 0x40001B, /// /// The second argument receives an int with the result of /// the certificate verification that was requested (using the /// option in /// . /// SslVerifyResult = 0x20000D, /// /// The second argument receives a double specifying the time, /// in seconds, from the start until the first byte is just about to be /// transferred. This includes PreTransferTime and /// also the time the server needs to calculate the result. /// StartTransferTime = 0x300011, /// /// The second argument receives a double indicating the total transaction /// time in seconds for the previous transfer. This time does not include /// the connect time, so if you want the complete operation time, /// you should add the ConnectTime. /// TotalTime = 0x300003, }; }