summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--common.mk3
-rw-r--r--debian/control2
-rw-r--r--https.cpp1
-rw-r--r--plugins/cgi/cgi.cpp1
-rw-r--r--plugins/static-files/static-files.cpp2
-rw-r--r--plugins/statistics/statistics.cpp1
-rw-r--r--plugins/webbox/webbox.cpp4
-rw-r--r--plugins/weblog/weblog.cpp2
-rw-r--r--response.cpp1
-rw-r--r--tests/test-webserver.cpp25
10 files changed, 41 insertions, 1 deletions
diff --git a/common.mk b/common.mk
index 5770d7d..cb4a426 100644
--- a/common.mk
+++ b/common.mk
@@ -97,6 +97,9 @@ LIBS+= \
CXXTYPE=g++
endif
+CXXFLAGS+=$(shell pkg-config --cflags fmt)
+LIBS+=$(shell pkg-config --libs fmt)
+
SRC_ROOT=$(shell echo $(MAKEFILE_LIST) | tr " " "\n" | grep common.mk | sed -e 's/\([^ ]*\)common.mk/\1/g')
VERSION=$(shell dpkg-parsechangelog --show-field Version --file $(SRC_ROOT)/debian/changelog)
CXXFLAGS+=-DVERSION=\"$(VERSION)\"
diff --git a/debian/control b/debian/control
index a48c5df..e0de083 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: webserver
Section: httpd
Priority: optional
Maintainer: Roland Reichwein <mail@reichwein.it>
-Build-Depends: debhelper (>= 12), libssl-dev, libboost-all-dev | libboost1.71-all-dev, clang | g++, llvm | g++, lld | g++, uglifyjs, python3-pkg-resources, htmlmin, cleancss, libreichwein-dev, gcovr
+Build-Depends: debhelper (>= 12), libssl-dev, libboost-all-dev | libboost1.71-all-dev, clang | g++, llvm | g++, lld | g++, uglifyjs, python3-pkg-resources, htmlmin, cleancss, libreichwein-dev, gcovr, libfmt-dev
Standards-Version: 4.5.0
Homepage: http://www.reichwein.it/webserver/
diff --git a/https.cpp b/https.cpp
index 768cdba..1e8bec1 100644
--- a/https.cpp
+++ b/https.cpp
@@ -40,6 +40,7 @@ namespace http = beast::http; // from <boost/beast/http.hpp>
namespace net = boost::asio; // from <boost/asio.hpp>
namespace ssl = boost::asio::ssl; // from <boost/asio/ssl.hpp>
using tcp = boost::asio::ip::tcp; // from <boost/asio/ip/tcp.hpp>
+using namespace Reichwein;
namespace {
diff --git a/plugins/cgi/cgi.cpp b/plugins/cgi/cgi.cpp
index 4e4f6c7..23c9bc4 100644
--- a/plugins/cgi/cgi.cpp
+++ b/plugins/cgi/cgi.cpp
@@ -16,6 +16,7 @@
using namespace std::string_literals;
namespace bp = boost::process;
namespace fs = std::filesystem;
+using namespace Reichwein::Mime;
namespace {
diff --git a/plugins/static-files/static-files.cpp b/plugins/static-files/static-files.cpp
index e889bc5..4dd8499 100644
--- a/plugins/static-files/static-files.cpp
+++ b/plugins/static-files/static-files.cpp
@@ -12,6 +12,8 @@
using namespace std::string_literals;
namespace fs = std::filesystem;
+using namespace Reichwein::Mime;
+using namespace Reichwein::URL;
namespace {
diff --git a/plugins/statistics/statistics.cpp b/plugins/statistics/statistics.cpp
index 54450a8..959fd33 100644
--- a/plugins/statistics/statistics.cpp
+++ b/plugins/statistics/statistics.cpp
@@ -18,6 +18,7 @@
using namespace std::string_literals;
namespace bp = boost::process;
namespace fs = std::filesystem;
+using namespace Reichwein;
namespace {
diff --git a/plugins/webbox/webbox.cpp b/plugins/webbox/webbox.cpp
index 90975b5..df7e946 100644
--- a/plugins/webbox/webbox.cpp
+++ b/plugins/webbox/webbox.cpp
@@ -27,6 +27,10 @@
using namespace std::string_literals;
namespace fs = std::filesystem;
namespace pt = boost::property_tree;
+using namespace Reichwein::Mime;
+using namespace Reichwein::Stringutil;
+using namespace Reichwein::URL;
+using namespace Reichwein;
namespace {
diff --git a/plugins/weblog/weblog.cpp b/plugins/weblog/weblog.cpp
index 8be5b40..1aea2f4 100644
--- a/plugins/weblog/weblog.cpp
+++ b/plugins/weblog/weblog.cpp
@@ -18,6 +18,8 @@
using namespace std::string_literals;
namespace fs = std::filesystem;
namespace pt = boost::property_tree;
+using namespace Reichwein::Mime;
+using namespace Reichwein::Stringutil;
namespace {
diff --git a/response.cpp b/response.cpp
index 4f535df..92390cd 100644
--- a/response.cpp
+++ b/response.cpp
@@ -15,6 +15,7 @@
#include <unordered_map>
using namespace std::placeholders;
+using namespace Reichwein::Mime;
namespace {
diff --git a/tests/test-webserver.cpp b/tests/test-webserver.cpp
index 4ac550e..7826a58 100644
--- a/tests/test-webserver.cpp
+++ b/tests/test-webserver.cpp
@@ -15,6 +15,8 @@
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
+#include <fmt/core.h>
+
#include <chrono>
#include <filesystem>
#include <iostream>
@@ -33,6 +35,7 @@
using namespace std::string_literals;
namespace fs = std::filesystem;
namespace pt = boost::property_tree;
+using namespace Reichwein;
class WebserverProcess
{
@@ -118,6 +121,28 @@ public:
m_pid = 0;
}
+ bool isRunning()
+ {
+ if (m_pid == 0)
+ return false;
+
+ fs::path pid_file{fmt::format("/proc/{}/stat", m_pid)};
+ if (!fs::exists(pid_file))
+ return false;
+
+ std::string s{File::getFile(pid_file)};
+
+ auto pos0{s.find(' ', 0)};
+ pos0 = s.find(' ', pos0 + 1);
+ pos0++;
+
+ auto pos1{s.find(' ', pos0 + 1)};
+
+ std::string state{s.substr(pos0, pos1 - pos0)};
+
+ return state == "R" || state == "S";
+ }
+
private:
pid_t m_pid;
};