diff --git a/.gitignore b/.gitignore index 5c150de..851ef09 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,3 @@ .*.swp .AppleDouble lib -Libraries -fixPermissions.sh diff --git a/Http/HttpClientImpl.cpp b/Http/HttpClientImpl.cpp index 29e97a8..5472a0e 100644 --- a/Http/HttpClientImpl.cpp +++ b/Http/HttpClientImpl.cpp @@ -1,7 +1,7 @@ #include "HttpClientImpl.h" #include "HttpClientHelpers.h" -#include "Logging.h" -#include "StringAlgorithm.h" +#include +#include #include #include #include @@ -185,11 +185,11 @@ std::string HttpClientImpl::GetUrlPostAttachmentContents(const std::string& url, CURLFORM_COPYCONTENTS, "multipart/form-data", CURLFORM_END); - std::vector postTokens = Utilities::split(data, '&'); + std::vector postTokens = StringAlgorithm::split(data, '&'); for (std::vector::iterator it = postTokens.begin(); it != postTokens.end(); ++it) { - std::vector tokens = Utilities::split(*it, '='); + std::vector tokens = StringAlgorithm::split(*it, '='); curl_formadd(&formpost, &lastptr, 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_END); - std::vector postTokens = Utilities::split(data, '&'); + std::vector postTokens = StringAlgorithm::split(data, '&'); for (std::vector::iterator it = postTokens.begin(); it != postTokens.end(); ++it) { - std::vector tokens = Utilities::split(*it, '='); + std::vector tokens = StringAlgorithm::split(*it, '='); curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, tokens[0].c_str(), @@ -336,11 +336,11 @@ std::string HttpClientImpl::GetUrlPostAttachmentRedirect(const std::string& url, CURLFORM_COPYCONTENTS, "multipart/form-data", CURLFORM_END); - std::vector postTokens = Utilities::split(data, '&'); + std::vector postTokens = StringAlgorithm::split(data, '&'); for (std::vector::iterator it = postTokens.begin(); it != postTokens.end(); ++it) { - std::vector tokens = Utilities::split(*it, '='); + std::vector tokens = StringAlgorithm::split(*it, '='); curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, tokens[0].c_str(), @@ -425,11 +425,11 @@ std::string HttpClientImpl::GetUrlPostAttachmentContents(const std::string& url, CURLFORM_COPYCONTENTS, "multipart/form-data", CURLFORM_END); - std::vector postTokens = Utilities::split(data, '&'); + std::vector postTokens = StringAlgorithm::split(data, '&'); for (std::vector::iterator it = postTokens.begin(); it != postTokens.end(); ++it) { - std::vector tokens = Utilities::split(*it, '='); + std::vector tokens = StringAlgorithm::split(*it, '='); curl_formadd(&formpost, &lastptr, 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_END); - std::vector postTokens = Utilities::split(data, '&'); + std::vector postTokens = StringAlgorithm::split(data, '&'); for (std::vector::iterator it = postTokens.begin(); it != postTokens.end(); ++it) { - std::vector tokens = Utilities::split(*it, '='); + std::vector tokens = StringAlgorithm::split(*it, '='); curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, tokens[0].c_str(), @@ -580,11 +580,11 @@ std::string HttpClientImpl::GetUrlPostAttachmentRedirect(const std::string& url, CURLFORM_COPYCONTENTS, "multipart/form-data", CURLFORM_END); - std::vector postTokens = Utilities::split(data, '&'); + std::vector postTokens = StringAlgorithm::split(data, '&'); for (std::vector::iterator it = postTokens.begin(); it != postTokens.end(); ++it) { - std::vector tokens = Utilities::split(*it, '='); + std::vector tokens = StringAlgorithm::split(*it, '='); curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, tokens[0].c_str(), diff --git a/Http/HttpConnection.cpp b/Http/HttpConnection.cpp index 7ba097b..7cdd250 100644 --- a/Http/HttpConnection.cpp +++ b/Http/HttpConnection.cpp @@ -32,7 +32,7 @@ void HttpConnection::HandleRead(const asio::error_code& ec, std::size_t length) if (!ec) { size_t dataLocation; - Utilities::Tribool result; + Tribool::Tribool result; Buffer::iterator dataIterator; 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) { m_dataIncomplete = true; - result = Utilities::Tribool::Indeterminate; + result = Tribool::Tribool::Indeterminate; } else { diff --git a/Http/HttpConnection.h b/Http/HttpConnection.h index cd0fdc2..c4e32fa 100644 --- a/Http/HttpConnection.h +++ b/Http/HttpConnection.h @@ -5,8 +5,8 @@ #include "HttpRequest.h" #include "HttpRequestHandler.h" #include "HttpRequestParser.h" -#include "asio.hpp" -#include "Tribool.h" +#include +#include #include #include #include @@ -38,7 +38,7 @@ private: asio::ip::tcp::socket m_socket; HttpRequestHandler& m_requestHandler; Buffer m_data; - std::tuple m_dataState; + std::tuple m_dataState; bool m_dataIncomplete; HttpRequest m_request; HttpRequestParser m_requestParser; diff --git a/Http/HttpReply.h b/Http/HttpReply.h index 2a02c4c..761b2be 100644 --- a/Http/HttpReply.h +++ b/Http/HttpReply.h @@ -2,7 +2,7 @@ #define HTTP_HTTPREPLY_H #include "HttpHeaders.h" -#include "asio.hpp" +#include #include #include diff --git a/Http/HttpRequestHandler.cpp b/Http/HttpRequestHandler.cpp index c6c34cc..726de46 100644 --- a/Http/HttpRequestHandler.cpp +++ b/Http/HttpRequestHandler.cpp @@ -1,6 +1,6 @@ #include "HttpRequestHandler.h" #include "HttpMimeTypes.h" -#include "StringAlgorithm.h" +#include #include #include @@ -21,7 +21,7 @@ HttpReply HttpRequestHandler::HandleRequest(const HttpRequest& request, const st if (requestPath.empty() || requestPath[0] != '/' || requestPath.find("..") != std::string::npos) 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); std::vector postData = GetPostData(request.headers.GetBoundary(), data); diff --git a/Http/HttpRequestParser.cpp b/Http/HttpRequestParser.cpp index 114d229..e8432b6 100644 --- a/Http/HttpRequestParser.cpp +++ b/Http/HttpRequestParser.cpp @@ -14,7 +14,7 @@ void HttpRequestParser::Reset() m_state = State::MethodStart; } -Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) +Tribool::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) { switch (m_state) { @@ -27,13 +27,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) { m_state = State::Method; request.method.push_back(input); - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } case State::Method: if (input == ' ') { m_state = State::URI; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else if (!IsChar(input) || IsCtl(input) || IsTSpecial(input)) { @@ -42,13 +42,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) else { request.method.push_back(input); - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } case State::URI: if (input == ' ') { m_state = State::HttpVersionH; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else if (IsCtl(input)) { @@ -57,13 +57,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) else { request.uri.push_back(input); - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } case State::HttpVersionH: if (input == 'H') { m_state = State::HttpVersionT1; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { @@ -73,7 +73,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) if (input == 'T') { m_state = State::HttpVersionT2; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { @@ -83,7 +83,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) if (input == 'T') { m_state = State::HttpVersionP; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { @@ -93,7 +93,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) if (input == 'P') { m_state = State::HttpVersionSlash; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { @@ -105,7 +105,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) request.httpVersionMajor = 0; request.httpVersionMinor = 0; m_state = State::HttpVersionMajorStart; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { @@ -116,7 +116,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) { request.httpVersionMajor = request.httpVersionMajor * 10 + input - '0'; m_state = State::HttpVersionMajor; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { @@ -126,12 +126,12 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) if (input == '.') { m_state = State::HttpVersionMinorStart; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else if (IsDigit(input)) { request.httpVersionMajor = request.httpVersionMajor * 10 + input - '0'; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { @@ -142,7 +142,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) { request.httpVersionMinor = request.httpVersionMinor * 10 + input - '0'; m_state = State::HttpVersionMinor; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { @@ -152,12 +152,12 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) if (input == '\r') { m_state = State::ExpectingNewline1; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else if (IsDigit(input)) { request.httpVersionMinor = request.httpVersionMinor * 10 + input - '0'; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { @@ -167,7 +167,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) if (input == '\n') { m_state = State::HeaderLineStart; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { @@ -177,12 +177,12 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) if (input == '\r') { m_state = State::ExpectingNewline3; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else if (!request.headers.empty() && (input == ' ' || input == '\t')) { m_state = State::HeaderLws; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } 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.back().name.push_back(input); m_state = State::HeaderName; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } case State::HeaderLws: if (input == '\r') { m_state = State::ExpectingNewline2; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else if (input == ' ' || input == '\t') { - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else if (IsCtl(input)) { @@ -213,13 +213,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) { m_state = State::HeaderValue; request.headers.back().value.push_back(input); - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } case State::HeaderName: if (input == ':') { m_state = State::SpaceBeforeHeaderValue; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else if (!IsChar(input) || IsCtl(input) || IsTSpecial(input)) { @@ -228,13 +228,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) else { request.headers.back().name.push_back(input); - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } case State::SpaceBeforeHeaderValue: if (input == ' ') { m_state = State::HeaderValue; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { @@ -244,7 +244,7 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) if (input == '\r') { m_state = State::ExpectingNewline2; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else if (IsCtl(input)) { @@ -253,13 +253,13 @@ Utilities::Tribool HttpRequestParser::Consume(HttpRequest& request, char input) else { request.headers.back().value.push_back(input); - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } case State::ExpectingNewline2: if (input == '\n') { m_state = State::HeaderLineStart; - return Utilities::Tribool::Indeterminate; + return Tribool::Tribool::Indeterminate; } else { diff --git a/Http/HttpRequestParser.h b/Http/HttpRequestParser.h index 6aad541..1f67fb0 100644 --- a/Http/HttpRequestParser.h +++ b/Http/HttpRequestParser.h @@ -2,7 +2,7 @@ #define HTTP_HTTPREQUESTPARSER_H #include "HttpRequest.h" -#include "Tribool.h" +#include #include @@ -18,9 +18,9 @@ public: void Reset(); template - std::tuple Parse(HttpRequest& request, InputIterator begin, InputIterator end) + std::tuple Parse(HttpRequest& request, InputIterator begin, InputIterator end) { - Utilities::Tribool result = Utilities::Tribool::Indeterminate; + Tribool::Tribool result = Tribool::Tribool::Indeterminate; while (begin != end) { result = Consume(request, *begin++); @@ -32,7 +32,7 @@ public: } private: - Utilities::Tribool Consume(HttpRequest& request, char input); + Tribool::Tribool Consume(HttpRequest& request, char input); static bool IsChar(int c); static bool IsCtl(int c); static bool IsTSpecial(int c); diff --git a/Http/HttpServerImpl.cpp b/Http/HttpServerImpl.cpp index fdc1db8..7973c29 100644 --- a/Http/HttpServerImpl.cpp +++ b/Http/HttpServerImpl.cpp @@ -1,5 +1,5 @@ #include "HttpServerImpl.h" -#include "Logging.h" +#include #include #include #include diff --git a/Http/HttpServerImpl.h b/Http/HttpServerImpl.h index 6536767..c5b15eb 100644 --- a/Http/HttpServerImpl.h +++ b/Http/HttpServerImpl.h @@ -3,7 +3,7 @@ #include "HttpConnection.h" #include "HttpRequestHandler.h" -#include "asio.hpp" +#include #include #include #include diff --git a/Libraries/Logging b/Libraries/Logging new file mode 120000 index 0000000..e18bda1 --- /dev/null +++ b/Libraries/Logging @@ -0,0 +1 @@ +../../Logging \ No newline at end of file diff --git a/Libraries/Utilities b/Libraries/Utilities new file mode 120000 index 0000000..4a6b454 --- /dev/null +++ b/Libraries/Utilities @@ -0,0 +1 @@ +../../Utilities \ No newline at end of file diff --git a/Libraries/asio b/Libraries/asio new file mode 120000 index 0000000..5f2d84d --- /dev/null +++ b/Libraries/asio @@ -0,0 +1 @@ +../../asio/asio \ No newline at end of file