diff --git a/.gitignore b/.gitignore index 4584da3..1c390e6 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ tags ws test_webserver +local.conf diff --git a/webserver.cc b/webserver.cc index ddf2295..183f279 100644 --- a/webserver.cc +++ b/webserver.cc @@ -109,11 +109,11 @@ void Webserver::deliver_file(tcp::socket *socket, const request& req) std::string d{req.target().data(), req.target().length()}; if (boost::regex_match(d.c_str(), m, file)) { fs::path p{_doc_root}; - p /= m[1]; + p /= std::string(m[1]); beast::error_code ec; http::file_body::value_type body; - body.open(p.c_str(), beast::file_mode::scan, ec); + body.open(p.string().c_str(), beast::file_mode::scan, ec); if (ec == beast::errc::no_such_file_or_directory) { deliver_status(socket, req, http::status::not_found); } @@ -126,7 +126,7 @@ void Webserver::deliver_file(tcp::socket *socket, const request& req) std::piecewise_construct, std::make_tuple(std::move(body)), std::make_tuple(http::status::ok, req.version())}; - res.set(http::field::content_type, mime_type(p.c_str())); + res.set(http::field::content_type, mime_type(p.string().c_str())); res.content_length(size); res.keep_alive(req.keep_alive()); http::write(*socket, res, ec);