16
16
#include " rapidjson/writer.h"
17
17
#include " rapidjson/stringbuffer.h"
18
18
19
+ // If enabled, 'localhost' is mapped to the content of the
20
+ // environment variable RESTC_CPP_TEST_DOCKER_ADDRESS
21
+
19
22
namespace restc_cpp {
20
23
24
+ #ifdef RESTC_CPP_ENABLE_URL_TEST_MAPPING
25
+ # ifndef RESTC_CPP_TEST_HELPER_H_
26
+ # error "Include "restc-cpp/test_helper.h" first"
27
+ # endif
28
+ # define MAP_URL_FOR_TESTING (url ) url = GetDockerUrl(url);
29
+ #else
30
+ # define MAP_URL_FOR_TESTING (url )
31
+ #endif
32
+
33
+
21
34
/* ! Convenience class for building requests */
22
35
class RequestBuilder
23
36
{
@@ -30,6 +43,7 @@ class RequestBuilder
30
43
RequestBuilder& Get (std::string url) {
31
44
assert (url_.empty ());
32
45
url_ = std::move (url);
46
+ MAP_URL_FOR_TESTING (url_);
33
47
type_ = Request::Type::GET;
34
48
return *this ;
35
49
}
@@ -38,6 +52,7 @@ class RequestBuilder
38
52
RequestBuilder& Post (std::string url) {
39
53
assert (url_.empty ());
40
54
url_ = std::move (url);
55
+ MAP_URL_FOR_TESTING (url_);
41
56
type_ = Request::Type::POST;
42
57
return *this ;
43
58
}
@@ -46,6 +61,7 @@ class RequestBuilder
46
61
RequestBuilder& Put (std::string url) {
47
62
assert (url_.empty ());
48
63
url_ = std::move (url);
64
+ MAP_URL_FOR_TESTING (url_);
49
65
type_ = Request::Type::PUT;
50
66
return *this ;
51
67
}
@@ -54,6 +70,7 @@ class RequestBuilder
54
70
RequestBuilder& Delete (std::string url) {
55
71
assert (url_.empty ());
56
72
url_ = std::move (url);
73
+ MAP_URL_FOR_TESTING (url_);
57
74
type_ = Request::Type::DELETE;
58
75
return *this ;
59
76
}
@@ -76,7 +93,7 @@ class RequestBuilder
76
93
headers_->insert ({std::move (name), std::move (value)});
77
94
return *this ;
78
95
}
79
-
96
+
80
97
RequestBuilder& AddHeaders (const Request::headers_t & headers) {
81
98
if (!headers_) {
82
99
headers_ = Request::headers_t ();
@@ -87,15 +104,15 @@ class RequestBuilder
87
104
}
88
105
return *this ;
89
106
}
90
-
107
+
91
108
RequestBuilder& AddHeaders (
92
109
boost::optional<Request::headers_t > headers) {
93
110
if (headers) {
94
111
return AddHeaders (*headers);
95
112
}
96
113
return *this ;
97
114
}
98
-
115
+
99
116
100
117
/* ! Add a request argument
101
118
*
@@ -295,6 +312,5 @@ class RequestBuilder
295
312
296
313
} // restc_cpp
297
314
298
-
299
315
#endif // RESTC_CPP_REQUEST_BUILDER_H_
300
316
0 commit comments