Skip to content

Commit bd61a7d

Browse files
paulharrisgittiver
authored andcommitted
Tell Router to use https for the protocol, when enabled.
1 parent 40c9aad commit bd61a7d

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

include/crow/app.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,7 @@ namespace crow
517517
#ifdef CROW_ENABLE_SSL
518518
if (ssl_used_)
519519
{
520+
router_.using_ssl = true;
520521
ssl_server_ = std::move(std::unique_ptr<ssl_server_t>(new ssl_server_t(this, bindaddr_, port_, server_name_, &middlewares_, concurrency_, timeout_, &ssl_context_)));
521522
ssl_server_->set_tick_function(tick_interval_, tick_function_);
522523
ssl_server_->signal_clear();

include/crow/routing.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1266,7 +1266,9 @@ namespace crow // NOTE: Already documented in "crow/app.h"
12661266
class Router
12671267
{
12681268
public:
1269-
Router()
1269+
bool using_ssl;
1270+
1271+
Router() : using_ssl(false)
12701272
{}
12711273

12721274
DynamicRule& new_rule_dynamic(const std::string& rule)
@@ -1467,7 +1469,7 @@ namespace crow // NOTE: Already documented in "crow/app.h"
14671469
}
14681470
else
14691471
{
1470-
res.add_header("Location", "http://" + req.get_header_value("Host") + req.url + "/");
1472+
res.add_header("Location", (using_ssl ? "https://" : "http://") + req.get_header_value("Host") + req.url + "/");
14711473
}
14721474
res.end();
14731475
return;
@@ -1715,7 +1717,7 @@ namespace crow // NOTE: Already documented in "crow/app.h"
17151717
}
17161718
else
17171719
{
1718-
res.add_header("Location", "http://" + req.get_header_value("Host") + req.url + "/");
1720+
res.add_header("Location", (using_ssl ? "https://" : "http://") + req.get_header_value("Host") + req.url + "/");
17191721
}
17201722
res.end();
17211723
return;

0 commit comments

Comments
 (0)