mirror of
https://github.com/twisterarmy/twister-core.git
synced 2025-01-22 20:44:56 +00:00
safe fallback when boost-regex is not found
This commit is contained in:
parent
3d0519adfa
commit
4c5c9cf3fc
@ -1057,6 +1057,9 @@ void ServiceConnection(AcceptedConnection *conn)
|
|||||||
case RSS_ERROR_NOT_A_NUMBER:
|
case RSS_ERROR_NOT_A_NUMBER:
|
||||||
conn->stream() << HTTPReply(HTTP_BAD_REQUEST, "Parameter 'max' must be a number", false) << std::flush;
|
conn->stream() << HTTPReply(HTTP_BAD_REQUEST, "Parameter 'max' must be a number", false) << std::flush;
|
||||||
continue;
|
continue;
|
||||||
|
case RSS_ERROR_BOOST_REGEX:
|
||||||
|
conn->stream() << HTTPReply(HTTP_BAD_REQUEST, "boost-regex support missing", false) << std::flush;
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,9 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
#include <boost/regex.hpp>
|
#ifdef HAVE_BOOST_REGEX
|
||||||
|
#include <boost/regex.hpp>
|
||||||
|
#endif
|
||||||
#include <boost/lexical_cast.hpp>
|
#include <boost/lexical_cast.hpp>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
@ -15,6 +17,9 @@ using namespace json_spirit;
|
|||||||
|
|
||||||
int generateRSS(string uri, string *output)
|
int generateRSS(string uri, string *output)
|
||||||
{
|
{
|
||||||
|
#ifndef HAVE_BOOST_REGEX
|
||||||
|
return RSS_ERROR_BOOST_REGEX;
|
||||||
|
#else
|
||||||
map<string, string> parameterMap = parseQuery(uri);
|
map<string, string> parameterMap = parseQuery(uri);
|
||||||
int max = 20; //default value
|
int max = 20; //default value
|
||||||
string account = parameterMap["account"];
|
string account = parameterMap["account"];
|
||||||
@ -188,8 +193,10 @@ int generateRSS(string uri, string *output)
|
|||||||
|
|
||||||
*output = ret.str();
|
*output = ret.str();
|
||||||
return RSS_OK;
|
return RSS_OK;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_BOOST_REGEX
|
||||||
map<string, string> parseQuery(const string& query)
|
map<string, string> parseQuery(const string& query)
|
||||||
{
|
{
|
||||||
map<string, string> data;
|
map<string, string> data;
|
||||||
@ -206,6 +213,7 @@ map<string, string> parseQuery(const string& query)
|
|||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
bool sortByTime (Object i,Object j)
|
bool sortByTime (Object i,Object j)
|
||||||
{
|
{
|
||||||
|
@ -10,11 +10,14 @@ enum RSSResultCode
|
|||||||
RSS_OK = 0,
|
RSS_OK = 0,
|
||||||
RSS_ERROR_NO_ACCOUNT = -1,
|
RSS_ERROR_NO_ACCOUNT = -1,
|
||||||
RSS_ERROR_BAD_ACCOUNT = -2,
|
RSS_ERROR_BAD_ACCOUNT = -2,
|
||||||
RSS_ERROR_NOT_A_NUMBER = -3
|
RSS_ERROR_NOT_A_NUMBER = -3,
|
||||||
|
RSS_ERROR_BOOST_REGEX = -4
|
||||||
};
|
};
|
||||||
|
|
||||||
extern bool sortByTime (json_spirit::Object i,json_spirit::Object j);
|
extern bool sortByTime (json_spirit::Object i,json_spirit::Object j);
|
||||||
extern std::map<std::string, std::string> parseQuery(const std::string& query);
|
#ifdef HAVE_BOOST_REGEX
|
||||||
|
extern std::map<std::string, std::string> parseQuery(const std::string& query);
|
||||||
|
#endif
|
||||||
extern int generateRSS(std::string uri, std::string *output);
|
extern int generateRSS(std::string uri, std::string *output);
|
||||||
|
|
||||||
#endif // TWISTER_RSS_H
|
#endif // TWISTER_RSS_H
|
||||||
|
Loading…
x
Reference in New Issue
Block a user