Kurlyk
Toggle main menu visibility
Loading...
Searching...
No Matches
HttpResponse.hpp
Go to the documentation of this file.
1
#pragma once
2
#ifndef _KURLYK_HTTP_RESPONSE_HPP_INCLUDED
3
#define _KURLYK_HTTP_RESPONSE_HPP_INCLUDED
4
7
8
namespace
kurlyk
{
9
15
class
HttpResponse
{
16
public
:
17
Headers
headers
;
18
std::string
content
;
19
std::error_code
error_code
;
20
std::string
error_message
;
21
long
status_code
= 0;
22
long
retry_attempt
= 0;
23
bool
ready
=
false
;
24
bool
stream_chunk
=
false
;
25
26
// --- Timing metrics (all values in seconds) ---
27
double
namelookup_time
= -1;
28
double
connect_time
= -1;
29
double
appconnect_time
= -1;
30
double
pretransfer_time
= -1;
31
double
starttransfer_time
= -1;
32
double
total_time
= -1;
33
};
// HttpResponse
34
36
using
HttpResponsePtr
= std::unique_ptr<HttpResponse>;
37
40
using
HttpResponseCallback
= std::function<void(
HttpResponsePtr
response)>;
41
42
}
// namespace kurlyk
43
44
#endif
// _KURLYK_HTTP_RESPONSE_HPP_INCLUDED
45
kurlyk::HttpResponse
Represents an HTTP response.
Definition
HttpResponse.hpp:15
kurlyk::HttpResponse::retry_attempt
long retry_attempt
Number of retry attempts performed for this request.
Definition
HttpResponse.hpp:22
kurlyk::HttpResponse::total_time
double total_time
Total time of the transfer.
Definition
HttpResponse.hpp:32
kurlyk::HttpResponse::namelookup_time
double namelookup_time
Time until name resolution completed (DNS).
Definition
HttpResponse.hpp:27
kurlyk::HttpResponse::headers
Headers headers
HTTP response headers.
Definition
HttpResponse.hpp:17
kurlyk::HttpResponse::connect_time
double connect_time
Time until TCP connection established.
Definition
HttpResponse.hpp:28
kurlyk::HttpResponse::status_code
long status_code
HTTP status code of the response (e.g., 200, 404).
Definition
HttpResponse.hpp:21
kurlyk::HttpResponse::content
std::string content
Body content of the HTTP response.
Definition
HttpResponse.hpp:18
kurlyk::HttpResponse::error_message
std::string error_message
Error message describing the issue, if any.
Definition
HttpResponse.hpp:20
kurlyk::HttpResponse::pretransfer_time
double pretransfer_time
Time until request is ready to be sent.
Definition
HttpResponse.hpp:30
kurlyk::HttpResponse::appconnect_time
double appconnect_time
Time until SSL handshake completed (HTTPS only).
Definition
HttpResponse.hpp:29
kurlyk::HttpResponse::stream_chunk
bool stream_chunk
Indicates whether content contains an intermediate streaming body chunk.
Definition
HttpResponse.hpp:24
kurlyk::HttpResponse::error_code
std::error_code error_code
Error code indicating response or transport issues, if any.
Definition
HttpResponse.hpp:19
kurlyk::HttpResponse::starttransfer_time
double starttransfer_time
Time until first byte is received from the server.
Definition
HttpResponse.hpp:31
kurlyk::HttpResponse::ready
bool ready
Indicates whether the response is final and ready to be processed.
Definition
HttpResponse.hpp:23
kurlyk
Primary namespace for the Kurlyk library, encompassing initialization, request management,...
kurlyk::HttpResponseCallback
std::function< void(HttpResponsePtr response)> HttpResponseCallback
Callback invoked with an HTTP response.
Definition
HttpResponse.hpp:40
kurlyk::HttpResponsePtr
std::unique_ptr< HttpResponse > HttpResponsePtr
Owning pointer to an HTTP response.
Definition
HttpResponse.hpp:36
kurlyk::Headers
utils::CaseInsensitiveMultimap Headers
Alias for HTTP headers, providing a case-insensitive unordered multimap.
Definition
CaseInsensitiveMultimap.hpp:62
include
kurlyk
http
data
HttpResponse.hpp
Generated by
1.17.0