aboutsummaryrefslogtreecommitdiff
path: root/MemDriverWeb
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2019-07-03 17:52:43 +0200
committerToni Uhlig <matzeton@googlemail.com>2019-07-03 17:52:43 +0200
commitcaf93747fb255f7e5750618216c560440d3fa42f (patch)
treeabf6e3358a0951e75396502bc67562fe870c98af /MemDriverWeb
parent249e58d81708ff9d486a5ee8fdc80bd208a78b53 (diff)
simple string based templating engine preps
Diffstat (limited to 'MemDriverWeb')
-rw-r--r--MemDriverWeb/MemDriverWeb.cpp3
-rw-r--r--MemDriverWeb/MemDriverWeb.vcxproj1
-rw-r--r--MemDriverWeb/MemDriverWeb.vcxproj.filters3
-rw-r--r--MemDriverWeb/minitmpl.h17
4 files changed, 23 insertions, 1 deletions
diff --git a/MemDriverWeb/MemDriverWeb.cpp b/MemDriverWeb/MemDriverWeb.cpp
index 4b65518..cf0e07e 100644
--- a/MemDriverWeb/MemDriverWeb.cpp
+++ b/MemDriverWeb/MemDriverWeb.cpp
@@ -2,6 +2,7 @@
#include <iostream>
#include <sstream>
#include "www.h"
+#include "minitmpl.h"
using httplib::Request;
using httplib::Response;
@@ -13,7 +14,7 @@ static const std::string footer = DEFAULT_FOOTER;
static void page_root(const Request &req, Response &res)
{
- std::stringstream ss;
+ TemplateString ss;
ss << header << footer;
res.set_content(ss.str(), "text/html");
diff --git a/MemDriverWeb/MemDriverWeb.vcxproj b/MemDriverWeb/MemDriverWeb.vcxproj
index a894e33..00d5a8b 100644
--- a/MemDriverWeb/MemDriverWeb.vcxproj
+++ b/MemDriverWeb/MemDriverWeb.vcxproj
@@ -156,6 +156,7 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="httplib.h" />
+ <ClInclude Include="minitmpl.h" />
<ClInclude Include="pch.h" />
<ClInclude Include="www.h" />
</ItemGroup>
diff --git a/MemDriverWeb/MemDriverWeb.vcxproj.filters b/MemDriverWeb/MemDriverWeb.vcxproj.filters
index fb49732..5874c87 100644
--- a/MemDriverWeb/MemDriverWeb.vcxproj.filters
+++ b/MemDriverWeb/MemDriverWeb.vcxproj.filters
@@ -24,6 +24,9 @@
<ClInclude Include="www.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="minitmpl.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="pch.cpp">
diff --git a/MemDriverWeb/minitmpl.h b/MemDriverWeb/minitmpl.h
new file mode 100644
index 0000000..446930a
--- /dev/null
+++ b/MemDriverWeb/minitmpl.h
@@ -0,0 +1,17 @@
+#pragma once
+
+#include <sstream>
+
+class TemplateString : public std::stringstream
+{
+public:
+ std::string& doTemplateStr(const std::string& search, const std::string& replace) {
+ size_t pos = 0;
+ std::string s = this->str();
+ while ((pos = s.find(search, pos)) != std::string::npos) {
+ s.replace(pos, search.length(), replace);
+ pos += replace.length();
+ }
+ return s;
+ }
+}; \ No newline at end of file