Skip to content

Commit a30a307

Browse files
committed
Merge TASK-023: smart-pointer register_resource overloads
2 parents 4bd6036 + beaaf80 commit a30a307

51 files changed

Lines changed: 937 additions & 353 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

examples/allowing_disallowing_methods.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ class hello_world_resource : public httpserver::http_resource {
3232
int main() {
3333
httpserver::webserver ws = httpserver::create_webserver(8080);
3434

35-
hello_world_resource hwr;
36-
hwr.disallow_all();
37-
hwr.set_allowing(httpserver::http_method::get, true);
38-
ws.register_resource("/hello", &hwr);
35+
auto hwr = std::make_shared<hello_world_resource>();
36+
hwr->disallow_all();
37+
hwr->set_allowing(httpserver::http_method::get, true);
38+
ws.register_resource("/hello", hwr);
3939
ws.start(true);
4040

4141
return 0;

examples/args_processing.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ class args_resource : public httpserver::http_resource {
8989
int main() {
9090
httpserver::webserver ws = httpserver::create_webserver(8080);
9191

92-
args_resource ar;
93-
ws.register_resource("/args", &ar);
92+
auto ar = std::make_shared<args_resource>();
93+
ws.register_resource("/args", ar);
9494

9595
std::cout << "Server running on http://localhost:8080/args\n";
9696
std::cout << "Try: http://localhost:8080/args?name=john&age=30\n";

examples/basic_authentication.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ class user_pass_resource : public httpserver::http_resource {
3838
int main() {
3939
httpserver::webserver ws = httpserver::create_webserver(8080);
4040

41-
user_pass_resource hwr;
42-
ws.register_resource("/hello", &hwr);
41+
auto hwr = std::make_shared<user_pass_resource>();
42+
ws.register_resource("/hello", hwr);
4343
ws.start(true);
4444

4545
return 0;

examples/benchmark_nodelay.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ int main(int argc, char** argv) {
5151
std::shared_ptr<httpserver::http_response> hello = std::shared_ptr<httpserver::http_response>(new httpserver::http_response(httpserver::http_response::string(BODY)));
5252
hello->with_header("Server", "libhttpserver");
5353

54-
hello_world_resource hwr(hello);
55-
ws.register_resource(PATH, &hwr, false);
54+
auto hwr = std::make_shared<hello_world_resource>(hello);
55+
ws.register_resource(PATH, hwr, false);
5656

5757
ws.start(true);
5858

examples/benchmark_select.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ int main(int argc, char** argv) {
5050
std::shared_ptr<httpserver::http_response> hello = std::shared_ptr<httpserver::http_response>(new httpserver::http_response(httpserver::http_response::string(BODY)));
5151
hello->with_header("Server", "libhttpserver");
5252

53-
hello_world_resource hwr(hello);
54-
ws.register_resource(PATH, &hwr, false);
53+
auto hwr = std::make_shared<hello_world_resource>(hello);
54+
ws.register_resource(PATH, hwr, false);
5555

5656
ws.start(true);
5757

examples/benchmark_threads.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ int main(int argc, char** argv) {
4949
std::shared_ptr<httpserver::http_response> hello = std::shared_ptr<httpserver::http_response>(new httpserver::http_response(httpserver::http_response::string(BODY)));
5050
hello->with_header("Server", "libhttpserver");
5151

52-
hello_world_resource hwr(hello);
53-
ws.register_resource(PATH, &hwr, false);
52+
auto hwr = std::make_shared<hello_world_resource>(hello);
53+
ws.register_resource(PATH, hwr, false);
5454

5555
ws.start(true);
5656

examples/binary_buffer_response.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ class image_resource : public httpserver::http_resource {
7373
int main() {
7474
httpserver::webserver ws = httpserver::create_webserver(8080);
7575

76-
image_resource ir;
77-
ws.register_resource("/image", &ir);
76+
auto ir = std::make_shared<image_resource>();
77+
ws.register_resource("/image", ir);
7878
ws.start(true);
7979

8080
return 0;

examples/centralized_authentication.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ int main() {
6060
.auth_handler(auth_handler)
6161
.auth_skip_paths({"/health", "/public/*"});
6262

63-
hello_resource hello;
64-
health_resource health;
63+
auto hello = std::make_shared<hello_resource>();
64+
auto health = std::make_shared<health_resource>();
6565

66-
ws.register_resource("/api", &hello);
67-
ws.register_resource("/health", &health);
66+
ws.register_resource("/api", hello);
67+
ws.register_resource("/health", health);
6868

6969
ws.start(true);
7070

examples/client_cert_auth.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,11 @@ int main() {
154154
.https_mem_cert("server_cert.pem") // Server certificate
155155
.https_mem_trust("ca_cert.pem"); // CA certificate for verifying client certs
156156

157-
secure_resource secure;
158-
info_resource info;
157+
auto secure = std::make_shared<secure_resource>();
158+
auto info = std::make_shared<info_resource>();
159159

160-
ws.register_resource("/secure", &secure);
161-
ws.register_resource("/info", &info);
160+
ws.register_resource("/secure", secure);
161+
ws.register_resource("/info", info);
162162

163163
std::cout << "Server started. Press Ctrl+C to stop.\n\n";
164164
std::cout << "Test commands:\n";

examples/custom_access_log.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ int main() {
3939
httpserver::webserver ws = httpserver::create_webserver(8080)
4040
.log_access(custom_access_log);
4141

42-
hello_world_resource hwr;
43-
ws.register_resource("/hello", &hwr);
42+
auto hwr = std::make_shared<hello_world_resource>();
43+
ws.register_resource("/hello", hwr);
4444
ws.start(true);
4545

4646
return 0;

0 commit comments

Comments
 (0)