Fix Utilities Namespaces and includes

This commit is contained in:
2020-03-07 19:40:48 +01:00
parent a175bf5af9
commit 71fac8bed0
13 changed files with 61 additions and 60 deletions
-2
View File
@@ -4,5 +4,3 @@
.*.swp .*.swp
.AppleDouble .AppleDouble
lib lib
Libraries
fixPermissions.sh
+14 -14
View File
@@ -1,7 +1,7 @@
#include "HttpClientImpl.h" #include "HttpClientImpl.h"
#include "HttpClientHelpers.h" #include "HttpClientHelpers.h"
#include "Logging.h" #include <Logging.h>
#include "StringAlgorithm.h" #include <StringAlgorithm.h>
#include <curl/curl.h> #include <curl/curl.h>
#include <openssl/crypto.h> #include <openssl/crypto.h>
#include <fstream> #include <fstream>
@@ -185,11 +185,11 @@ std::string HttpClientImpl::GetUrlPostAttachmentContents(const std::string& url,
CURLFORM_COPYCONTENTS, "multipart/form-data", CURLFORM_COPYCONTENTS, "multipart/form-data",
CURLFORM_END); CURLFORM_END);
std::vector<std::string> postTokens = Utilities::split(data, '&'); std::vector<std::string> postTokens = StringAlgorithm::split(data, '&');
for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it) for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it)
{ {
std::vector<std::string> tokens = Utilities::split(*it, '='); std::vector<std::string> tokens = StringAlgorithm::split(*it, '=');
curl_formadd(&formpost, &lastptr, curl_formadd(&formpost, &lastptr,
CURLFORM_COPYNAME, tokens[0].c_str(), CURLFORM_COPYNAME, tokens[0].c_str(),
@@ -263,11 +263,11 @@ void HttpClientImpl::GetUrlPostAttachmentSilent(const std::string& url, const st
CURLFORM_COPYCONTENTS, "multipart/form-data", CURLFORM_COPYCONTENTS, "multipart/form-data",
CURLFORM_END); CURLFORM_END);
std::vector<std::string> postTokens = Utilities::split(data, '&'); std::vector<std::string> postTokens = StringAlgorithm::split(data, '&');
for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it) for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it)
{ {
std::vector<std::string> tokens = Utilities::split(*it, '='); std::vector<std::string> tokens = StringAlgorithm::split(*it, '=');
curl_formadd(&formpost, &lastptr, curl_formadd(&formpost, &lastptr,
CURLFORM_COPYNAME, tokens[0].c_str(), CURLFORM_COPYNAME, tokens[0].c_str(),
@@ -336,11 +336,11 @@ std::string HttpClientImpl::GetUrlPostAttachmentRedirect(const std::string& url,
CURLFORM_COPYCONTENTS, "multipart/form-data", CURLFORM_COPYCONTENTS, "multipart/form-data",
CURLFORM_END); CURLFORM_END);
std::vector<std::string> postTokens = Utilities::split(data, '&'); std::vector<std::string> postTokens = StringAlgorithm::split(data, '&');
for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it) for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it)
{ {
std::vector<std::string> tokens = Utilities::split(*it, '='); std::vector<std::string> tokens = StringAlgorithm::split(*it, '=');
curl_formadd(&formpost, &lastptr, curl_formadd(&formpost, &lastptr,
CURLFORM_COPYNAME, tokens[0].c_str(), CURLFORM_COPYNAME, tokens[0].c_str(),
@@ -425,11 +425,11 @@ std::string HttpClientImpl::GetUrlPostAttachmentContents(const std::string& url,
CURLFORM_COPYCONTENTS, "multipart/form-data", CURLFORM_COPYCONTENTS, "multipart/form-data",
CURLFORM_END); CURLFORM_END);
std::vector<std::string> postTokens = Utilities::split(data, '&'); std::vector<std::string> postTokens = StringAlgorithm::split(data, '&');
for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it) for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it)
{ {
std::vector<std::string> tokens = Utilities::split(*it, '='); std::vector<std::string> tokens = StringAlgorithm::split(*it, '=');
curl_formadd(&formpost, &lastptr, curl_formadd(&formpost, &lastptr,
CURLFORM_COPYNAME, tokens[0].c_str(), CURLFORM_COPYNAME, tokens[0].c_str(),
@@ -505,11 +505,11 @@ void HttpClientImpl::GetUrlPostAttachmentSilent(const std::string& url, const st
CURLFORM_COPYCONTENTS, "multipart/form-data", CURLFORM_COPYCONTENTS, "multipart/form-data",
CURLFORM_END); CURLFORM_END);
std::vector<std::string> postTokens = Utilities::split(data, '&'); std::vector<std::string> postTokens = StringAlgorithm::split(data, '&');
for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it) for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it)
{ {
std::vector<std::string> tokens = Utilities::split(*it, '='); std::vector<std::string> tokens = StringAlgorithm::split(*it, '=');
curl_formadd(&formpost, &lastptr, curl_formadd(&formpost, &lastptr,
CURLFORM_COPYNAME, tokens[0].c_str(), CURLFORM_COPYNAME, tokens[0].c_str(),
@@ -580,11 +580,11 @@ std::string HttpClientImpl::GetUrlPostAttachmentRedirect(const std::string& url,
CURLFORM_COPYCONTENTS, "multipart/form-data", CURLFORM_COPYCONTENTS, "multipart/form-data",
CURLFORM_END); CURLFORM_END);
std::vector<std::string> postTokens = Utilities::split(data, '&'); std::vector<std::string> postTokens = StringAlgorithm::split(data, '&');
for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it) for (std::vector<std::string>::iterator it = postTokens.begin(); it != postTokens.end(); ++it)
{ {
std::vector<std::string> tokens = Utilities::split(*it, '='); std::vector<std::string> tokens = StringAlgorithm::split(*it, '=');
curl_formadd(&formpost, &lastptr, curl_formadd(&formpost, &lastptr,
CURLFORM_COPYNAME, tokens[0].c_str(), CURLFORM_COPYNAME, tokens[0].c_str(),
+2 -2
View File
@@ -32,7 +32,7 @@ void HttpConnection::HandleRead(const asio::error_code& ec, std::size_t length)
if (!ec) if (!ec)
{ {
size_t dataLocation; size_t dataLocation;
Utilities::Tribool result; Tribool::Tribool result;
Buffer::iterator dataIterator; Buffer::iterator dataIterator;
if (!m_dataIncomplete) if (!m_dataIncomplete)
@@ -51,7 +51,7 @@ void HttpConnection::HandleRead(const asio::error_code& ec, std::size_t length)
if (result && length < m_request.headers.GetContentLength() + dataLocation) if (result && length < m_request.headers.GetContentLength() + dataLocation)
{ {
m_dataIncomplete = true; m_dataIncomplete = true;
result = Utilities::Tribool::Indeterminate; result = Tribool::Tribool::Indeterminate;
} }
else else
{ {
+3 -3
View File
@@ -5,8 +5,8 @@
#include "HttpRequest.h" #include "HttpRequest.h"
#include "HttpRequestHandler.h" #include "HttpRequestHandler.h"
#include "HttpRequestParser.h" #include "HttpRequestParser.h"
#include "asio.hpp" #include <asio.hpp>
#include "Tribool.h" #include <Tribool.h>
#include <array> #include <array>
#include <memory> #include <memory>
#include <string> #include <string>
@@ -38,7 +38,7 @@ private:
asio::ip::tcp::socket m_socket; asio::ip::tcp::socket m_socket;
HttpRequestHandler& m_requestHandler; HttpRequestHandler& m_requestHandler;
Buffer m_data; Buffer m_data;
std::tuple<Utilities::Tribool, Buffer::iterator> m_dataState; std::tuple<Tribool::Tribool, Buffer::iterator> m_dataState;
bool m_dataIncomplete; bool m_dataIncomplete;
HttpRequest m_request; HttpRequest m_request;
HttpRequestParser m_requestParser; HttpRequestParser m_requestParser;
+1 -1
View File
@@ -2,7 +2,7 @@
#define HTTP_HTTPREPLY_H #define HTTP_HTTPREPLY_H
#include "HttpHeaders.h" #include "HttpHeaders.h"
#include "asio.hpp" #include <asio.hpp>
#include <string> #include <string>
#include <vector> #include <vector>
+2 -2
View File
@@ -1,6 +1,6 @@
#include "HttpRequestHandler.h" #include "HttpRequestHandler.h"
#include "HttpMimeTypes.h" #include "HttpMimeTypes.h"
#include "StringAlgorithm.h" #include <StringAlgorithm.h>
#include <fstream> #include <fstream>
#include <sstream> #include <sstream>
@@ -21,7 +21,7 @@ HttpReply HttpRequestHandler::HandleRequest(const HttpRequest& request, const st
if (requestPath.empty() || requestPath[0] != '/' || requestPath.find("..") != std::string::npos) if (requestPath.empty() || requestPath[0] != '/' || requestPath.find("..") != std::string::npos)
return HttpReply::StockReply(HttpReply::Status::BadRequest); return HttpReply::StockReply(HttpReply::Status::BadRequest);
if (!Utilities::iequals(request.uri, "/api") && !Utilities::istarts_with(request.uri, "/api/")) if (!StringAlgorithm::iequals(request.uri, "/api") && !StringAlgorithm::istarts_with(request.uri, "/api/"))
return HttpReply::StockReply(HttpReply::Status::NotFound); return HttpReply::StockReply(HttpReply::Status::NotFound);
std::vector<HttpPostData> postData = GetPostData(request.headers.GetBoundary(), data); std::vector<HttpPostData> postData = GetPostData(request.headers.GetBoundary(), data);
+30 -30
View File
@@ -14,7 +14,7 @@ void HttpRequestParser::Reset()
m_state = State::MethodStart; m_state = State::MethodStart;
} }
Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) Tribool::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
{ {
switch (m_state) switch (m_state)
{ {
@@ -27,13 +27,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
{ {
m_state = State::Method; m_state = State::Method;
request.method.push_back(input); request.method.push_back(input);
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
case State::Method: case State::Method:
if (input == ' ') if (input == ' ')
{ {
m_state = State::URI; m_state = State::URI;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else if (!IsChar(input) || IsCtl(input) || IsTSpecial(input)) else if (!IsChar(input) || IsCtl(input) || IsTSpecial(input))
{ {
@@ -42,13 +42,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
else else
{ {
request.method.push_back(input); request.method.push_back(input);
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
case State::URI: case State::URI:
if (input == ' ') if (input == ' ')
{ {
m_state = State::HttpVersionH; m_state = State::HttpVersionH;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else if (IsCtl(input)) else if (IsCtl(input))
{ {
@@ -57,13 +57,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
else else
{ {
request.uri.push_back(input); request.uri.push_back(input);
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
case State::HttpVersionH: case State::HttpVersionH:
if (input == 'H') if (input == 'H')
{ {
m_state = State::HttpVersionT1; m_state = State::HttpVersionT1;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
@@ -73,7 +73,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
if (input == 'T') if (input == 'T')
{ {
m_state = State::HttpVersionT2; m_state = State::HttpVersionT2;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
@@ -83,7 +83,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
if (input == 'T') if (input == 'T')
{ {
m_state = State::HttpVersionP; m_state = State::HttpVersionP;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
@@ -93,7 +93,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
if (input == 'P') if (input == 'P')
{ {
m_state = State::HttpVersionSlash; m_state = State::HttpVersionSlash;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
@@ -105,7 +105,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
request.httpVersionMajor = 0; request.httpVersionMajor = 0;
request.httpVersionMinor = 0; request.httpVersionMinor = 0;
m_state = State::HttpVersionMajorStart; m_state = State::HttpVersionMajorStart;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
@@ -116,7 +116,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
{ {
request.httpVersionMajor = request.httpVersionMajor * 10 + input - '0'; request.httpVersionMajor = request.httpVersionMajor * 10 + input - '0';
m_state = State::HttpVersionMajor; m_state = State::HttpVersionMajor;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
@@ -126,12 +126,12 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
if (input == '.') if (input == '.')
{ {
m_state = State::HttpVersionMinorStart; m_state = State::HttpVersionMinorStart;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else if (IsDigit(input)) else if (IsDigit(input))
{ {
request.httpVersionMajor = request.httpVersionMajor * 10 + input - '0'; request.httpVersionMajor = request.httpVersionMajor * 10 + input - '0';
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
@@ -142,7 +142,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
{ {
request.httpVersionMinor = request.httpVersionMinor * 10 + input - '0'; request.httpVersionMinor = request.httpVersionMinor * 10 + input - '0';
m_state = State::HttpVersionMinor; m_state = State::HttpVersionMinor;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
@@ -152,12 +152,12 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
if (input == '\r') if (input == '\r')
{ {
m_state = State::ExpectingNewline1; m_state = State::ExpectingNewline1;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else if (IsDigit(input)) else if (IsDigit(input))
{ {
request.httpVersionMinor = request.httpVersionMinor * 10 + input - '0'; request.httpVersionMinor = request.httpVersionMinor * 10 + input - '0';
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
@@ -167,7 +167,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
if (input == '\n') if (input == '\n')
{ {
m_state = State::HeaderLineStart; m_state = State::HeaderLineStart;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
@@ -177,12 +177,12 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
if (input == '\r') if (input == '\r')
{ {
m_state = State::ExpectingNewline3; m_state = State::ExpectingNewline3;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else if (!request.headers.empty() && (input == ' ' || input == '\t')) else if (!request.headers.empty() && (input == ' ' || input == '\t'))
{ {
m_state = State::HeaderLws; m_state = State::HeaderLws;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else if (!IsChar(input) || IsCtl(input) || IsTSpecial(input)) else if (!IsChar(input) || IsCtl(input) || IsTSpecial(input))
{ {
@@ -193,17 +193,17 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
request.headers.push_back(HttpHeader()); request.headers.push_back(HttpHeader());
request.headers.back().name.push_back(input); request.headers.back().name.push_back(input);
m_state = State::HeaderName; m_state = State::HeaderName;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
case State::HeaderLws: case State::HeaderLws:
if (input == '\r') if (input == '\r')
{ {
m_state = State::ExpectingNewline2; m_state = State::ExpectingNewline2;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else if (input == ' ' || input == '\t') else if (input == ' ' || input == '\t')
{ {
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else if (IsCtl(input)) else if (IsCtl(input))
{ {
@@ -213,13 +213,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
{ {
m_state = State::HeaderValue; m_state = State::HeaderValue;
request.headers.back().value.push_back(input); request.headers.back().value.push_back(input);
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
case State::HeaderName: case State::HeaderName:
if (input == ':') if (input == ':')
{ {
m_state = State::SpaceBeforeHeaderValue; m_state = State::SpaceBeforeHeaderValue;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else if (!IsChar(input) || IsCtl(input) || IsTSpecial(input)) else if (!IsChar(input) || IsCtl(input) || IsTSpecial(input))
{ {
@@ -228,13 +228,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
else else
{ {
request.headers.back().name.push_back(input); request.headers.back().name.push_back(input);
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
case State::SpaceBeforeHeaderValue: case State::SpaceBeforeHeaderValue:
if (input == ' ') if (input == ' ')
{ {
m_state = State::HeaderValue; m_state = State::HeaderValue;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
@@ -244,7 +244,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
if (input == '\r') if (input == '\r')
{ {
m_state = State::ExpectingNewline2; m_state = State::ExpectingNewline2;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else if (IsCtl(input)) else if (IsCtl(input))
{ {
@@ -253,13 +253,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input)
else else
{ {
request.headers.back().value.push_back(input); request.headers.back().value.push_back(input);
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
case State::ExpectingNewline2: case State::ExpectingNewline2:
if (input == '\n') if (input == '\n')
{ {
m_state = State::HeaderLineStart; m_state = State::HeaderLineStart;
return Utilities::Tribool::Indeterminate; return Tribool::Tribool::Indeterminate;
} }
else else
{ {
+4 -4
View File
@@ -2,7 +2,7 @@
#define HTTP_HTTPREQUESTPARSER_H #define HTTP_HTTPREQUESTPARSER_H
#include "HttpRequest.h" #include "HttpRequest.h"
#include "Tribool.h" #include <Tribool.h>
#include <tuple> #include <tuple>
@@ -18,9 +18,9 @@ public:
void Reset(); void Reset();
template <typename InputIterator> template <typename InputIterator>
std::tuple<Utilities::Tribool, InputIterator> Parse(HttpRequest& request, InputIterator begin, InputIterator end) std::tuple<Tribool::Tribool, InputIterator> Parse(HttpRequest& request, InputIterator begin, InputIterator end)
{ {
Utilities::Tribool result = Utilities::Tribool::Indeterminate; Tribool::Tribool result = Tribool::Tribool::Indeterminate;
while (begin != end) while (begin != end)
{ {
result = Consume(request, *begin++); result = Consume(request, *begin++);
@@ -32,7 +32,7 @@ public:
} }
private: private:
Utilities::Tribool Consume(HttpRequest& request, char input); Tribool::Tribool Consume(HttpRequest& request, char input);
static bool IsChar(int c); static bool IsChar(int c);
static bool IsCtl(int c); static bool IsCtl(int c);
static bool IsTSpecial(int c); static bool IsTSpecial(int c);
+1 -1
View File
@@ -1,5 +1,5 @@
#include "HttpServerImpl.h" #include "HttpServerImpl.h"
#include "Logging.h" #include <Logging.h>
#include <sys/wait.h> #include <sys/wait.h>
#include <functional> #include <functional>
#include <sstream> #include <sstream>
+1 -1
View File
@@ -3,7 +3,7 @@
#include "HttpConnection.h" #include "HttpConnection.h"
#include "HttpRequestHandler.h" #include "HttpRequestHandler.h"
#include "asio.hpp" #include <asio.hpp>
#include <functional> #include <functional>
#include <memory> #include <memory>
#include <thread> #include <thread>
+1
View File
@@ -0,0 +1 @@
../../Logging
+1
View File
@@ -0,0 +1 @@
../../Utilities
+1
View File
@@ -0,0 +1 @@
../../asio/asio