From b2daac9dd580437ba1b61c11ffa0d3991e51dc96 Mon Sep 17 00:00:00 2001 From: tastytea Date: Wed, 17 Apr 2019 05:52:10 +0200 Subject: [PATCH] CGI test. --- src/main.cpp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 31a4244..ee7f862 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -100,15 +101,33 @@ const string strtime(const string &time) int main(int argc, char *argv[]) { - if (argc < 2) + const char *envquery = std::getenv("QUERY_STRING"); + string url; + + if (envquery != nullptr) + { + const string query = envquery; + const char *envbaseurl = std::getenv("GITEA2RSS_BASEURL"); + if (envbaseurl == nullptr) + { + return 1; + } + url = string(envbaseurl) + "/" + query.substr(query.find('=') + 1); + // cout << "Content-Type: application/rss+xml\n\n"; + cout << "Content-Type: text/plain\n\n"; + } + else if (argc < 2) { cerr << "usage: " << argv[0] << " URL of Gitea project\n"; return 1; } + else + { + url = argv[1]; + } curlpp::initialize(); - string url = argv[1]; size_t pos_repo = url.find('/', 8) + 1; const string baseurl = url.substr(0, pos_repo - 1); const string domain = baseurl.substr(baseurl.rfind('/') + 1);