DotNetDupe
4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Toggle main menu visibility
Loading...
Searching...
No Matches
HttpResponseMessage.cpp
Go to the documentation of this file.
1
#include "
pch.h
"
2
#include "
System/Net/Http/HttpResponseMessage.h
"
3
#include "
System/Net/Http/HttpRequestException.h
"
4
5
namespace
DotNetDupe
{
6
namespace
System
{
7
namespace
Net
{
8
namespace
Http
{
9
10
HttpResponseMessage::HttpResponseMessage
()
11
: m_statusCode(
HttpStatusCode
::
OK
), m_pContent(nullptr) {
13
}
14
15
HttpResponseMessage::HttpResponseMessage
(
HttpStatusCode
statusCode)
16
: m_statusCode(statusCode), m_pContent(nullptr) {
18
}
19
20
HttpStatusCode
HttpResponseMessage::GetStatusCode
()
const
{
22
return
m_statusCode;
23
}
24
25
void
HttpResponseMessage::SetStatusCode
(
HttpStatusCode
statusCode) {
27
m_statusCode = statusCode;
28
}
29
30
String
HttpResponseMessage::GetReasonPhrase
()
const
{
32
return
m_sReasonPhrase;
33
}
34
35
void
HttpResponseMessage::SetReasonPhrase
(
const
String
& reasonPhrase) {
37
m_sReasonPhrase = reasonPhrase;
38
}
39
40
bool
HttpResponseMessage::IsSuccessStatusCode
()
const
{
42
int
code =
static_cast<
int
>
(m_statusCode);
43
return
code >= 200 && code <= 299;
44
}
45
46
HttpContentPtr
HttpResponseMessage::GetContent
()
const
{
48
return
m_pContent;
49
}
50
51
void
HttpResponseMessage::SetContent
(
const
HttpContentPtr
& content) {
53
m_pContent = content;
54
}
55
56
Collections::Generic::Dictionary<String, String>
&
HttpResponseMessage::GetHeaders
() {
58
return
m_headers;
59
}
60
61
const
Collections::Generic::Dictionary<String, String>
&
HttpResponseMessage::GetHeaders
()
const
{
63
return
m_headers;
64
}
65
66
void
HttpResponseMessage::EnsureSuccessStatusCode
() {
68
if
(
IsSuccessStatusCode
()) {
69
return
;
70
}
72
std::string msg =
"Response status code does not indicate success: "
;
73
msg += std::to_string(
static_cast<
int
>
(m_statusCode));
74
if
(!m_sReasonPhrase.IsEmpty()) {
75
msg +=
" ("
;
76
msg += m_sReasonPhrase.GetRawString();
77
msg +=
")"
;
78
}
79
msg +=
"."
;
81
throw
HttpRequestException
(msg.c_str());
82
}
83
84
}
85
}
86
}
87
}
HttpRequestException.h
Exception thrown when an HTTP request or connection failure occurs.
HttpResponseMessage.h
Represents an HTTP response message adhering to RFC 9110 and RFC 9112.
DotNetDupe::System::Collections::Generic::Dictionary
Represents a collection of keys and values.
Definition
Dictionary.h:66
DotNetDupe::System::Net::Http::HttpRequestException::HttpRequestException
HttpRequestException(const String &sMessage)
Initializes a new instance of the HttpRequestException class with a specified error message.
Definition
HttpRequestException.h:19
DotNetDupe::System::Net::Http::HttpResponseMessage::SetContent
void SetContent(const HttpContentPtr &content)
Sets the content of the HTTP response message.
Definition
HttpResponseMessage.cpp:51
DotNetDupe::System::Net::Http::HttpResponseMessage::GetStatusCode
HttpStatusCode GetStatusCode() const
Gets the status code of the HTTP response.
Definition
HttpResponseMessage.cpp:20
DotNetDupe::System::Net::Http::HttpResponseMessage::GetReasonPhrase
String GetReasonPhrase() const
Gets the reason phrase which typically accompanies the status code.
Definition
HttpResponseMessage.cpp:30
DotNetDupe::System::Net::Http::HttpResponseMessage::SetReasonPhrase
void SetReasonPhrase(const String &reasonPhrase)
Sets the reason phrase which typically accompanies the status code.
Definition
HttpResponseMessage.cpp:35
DotNetDupe::System::Net::Http::HttpResponseMessage::EnsureSuccessStatusCode
void EnsureSuccessStatusCode()
Throws an HttpRequestException if IsSuccessStatusCode() is false.
Definition
HttpResponseMessage.cpp:66
DotNetDupe::System::Net::Http::HttpResponseMessage::SetStatusCode
void SetStatusCode(HttpStatusCode statusCode)
Sets the status code of the HTTP response.
Definition
HttpResponseMessage.cpp:25
DotNetDupe::System::Net::Http::HttpResponseMessage::GetContent
HttpContentPtr GetContent() const
Gets the content of the HTTP response message.
Definition
HttpResponseMessage.cpp:46
DotNetDupe::System::Net::Http::HttpResponseMessage::IsSuccessStatusCode
bool IsSuccessStatusCode() const
Gets a value that indicates if the HTTP response was successful (status in range 200-299).
Definition
HttpResponseMessage.cpp:40
DotNetDupe::System::Net::Http::HttpResponseMessage::HttpResponseMessage
HttpResponseMessage()
Initializes a new instance of the HttpResponseMessage class with OK (200) status.
Definition
HttpResponseMessage.cpp:10
DotNetDupe::System::Net::Http::HttpResponseMessage::GetHeaders
Collections::Generic::Dictionary< String, String > & GetHeaders()
Gets the collection of HTTP response headers.
Definition
HttpResponseMessage.cpp:56
DotNetDupe::System::String
Represents text as a sequence of UTF-8 code units with culture-invariant operations.
Definition
String.h:74
DotNetDupe::System::Net::Http
Definition
FileDownloader.h:22
DotNetDupe::System::Net::Http::HttpContentPtr
SmartPointer< HttpContent > HttpContentPtr
Type alias for reference-counted SmartPointer to HttpContent.
Definition
HttpContent.h:66
DotNetDupe::System::Net
Definition
Dns.h:13
DotNetDupe::System::Net::HttpStatusCode
HttpStatusCode
Contains the values of status codes defined for HTTP in RFC 9110 and RFC 7231.
Definition
HttpStatusCode.h:13
DotNetDupe::System::Net::HttpStatusCode::OK
@ OK
Equivalent to HTTP status 200. Indicates that the request succeeded.
Definition
HttpStatusCode.h:19
DotNetDupe::System
Definition
Action.h:11
DotNetDupe
Definition
IServiceCollection.h:7
pch.h
DotNetDupe
HttpResponseMessage.cpp
Generated by
1.18.0