@@ -73,6 +73,15 @@ class complete_test_resource : public http_resource<complete_test_resource>
7373 }
7474};
7575
76+ class only_render_resource : public http_resource <only_render_resource>
77+ {
78+ public:
79+ void render (const http_request& req, http_response** res)
80+ {
81+ *res = new http_string_response (" OK" , 200 , " text/plain" );
82+ }
83+ };
84+
7685LT_BEGIN_SUITE (basic_suite)
7786
7887 webserver* ws;
@@ -174,6 +183,53 @@ LT_BEGIN_AUTO_TEST(basic_suite, complete)
174183 curl_easy_cleanup (curl);
175184LT_END_AUTO_TEST (complete)
176185
186+ LT_BEGIN_AUTO_TEST(basic_suite, only_render)
187+ only_render_resource* resource = new only_render_resource();
188+ ws->register_resource (" base" , resource);
189+ curl_global_init (CURL_GLOBAL_ALL);
190+ std::string s;
191+ CURL* curl;
192+ CURLcode res;
193+
194+ curl = curl_easy_init();
195+ curl_easy_setopt (curl, CURLOPT_URL, " localhost:8080/base" );
196+ curl_easy_setopt (curl, CURLOPT_HTTPGET, 1L );
197+ res = curl_easy_perform(curl);
198+ LT_ASSERT_EQ (res, 0 );
199+ curl_easy_cleanup (curl);
200+
201+ curl = curl_easy_init();
202+ curl_easy_setopt (curl, CURLOPT_URL, " localhost:8080/base" );
203+ curl_easy_setopt (curl, CURLOPT_CUSTOMREQUEST, " DELETE" );
204+ res = curl_easy_perform(curl);
205+ LT_ASSERT_EQ (res, 0 );
206+ curl_easy_cleanup (curl);
207+
208+ curl = curl_easy_init();
209+ curl_easy_setopt (curl, CURLOPT_URL, " localhost:8080/base" );
210+ curl_easy_setopt (curl, CURLOPT_CUSTOMREQUEST, " PUT" );
211+ res = curl_easy_perform(curl);
212+ LT_ASSERT_EQ (res, 0 );
213+ curl_easy_cleanup (curl);
214+
215+ curl = curl_easy_init();
216+ curl_easy_setopt (curl, CURLOPT_URL, " localhost:8080/base" );
217+ curl_easy_setopt (curl, CURLOPT_CUSTOMREQUEST, " CONNECT" );
218+ res = curl_easy_perform(curl);
219+ LT_ASSERT_EQ (res, 0 );
220+ curl_easy_cleanup (curl);
221+
222+ curl = curl_easy_init();
223+ curl_easy_setopt (curl, CURLOPT_URL, " localhost:8080/base" );
224+ curl_easy_setopt (curl, CURLOPT_POST, 1L );
225+ curl_easy_setopt (curl, CURLOPT_POSTFIELDS, NULL );
226+ curl_easy_setopt (curl, CURLOPT_POSTFIELDSIZE, 0 );
227+ res = curl_easy_perform(curl);
228+ LT_ASSERT_EQ (res, 0 );
229+ curl_easy_cleanup (curl);
230+
231+ LT_END_AUTO_TEST (only_render)
232+
177233LT_BEGIN_AUTO_TEST(basic_suite, postprocessor)
178234 simple_resource* resource = new simple_resource();
179235 ws->register_resource (" base" , resource);
0 commit comments