Initial Commit
This commit is contained in:
commit
53bbe2d65a
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "HTTPWrapper"]
|
||||||
|
path = HTTPWrapper
|
||||||
|
url = http://kiritow.com:3000/HCTECH/HTTPWrapper.git
|
1
HTTPWrapper
Submodule
1
HTTPWrapper
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 190e17c074f64eb4ef322ea529e80fc94073adbc
|
113
doPaste.cpp
Normal file
113
doPaste.cpp
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
#include "Request.h"
|
||||||
|
#include "Response.h"
|
||||||
|
#include "Util.h"
|
||||||
|
#include "json.hpp"
|
||||||
|
#include <fstream>
|
||||||
|
#include <cstdio>
|
||||||
|
#include "windows.h"
|
||||||
|
using namespace std;
|
||||||
|
using json = nlohmann::json;
|
||||||
|
|
||||||
|
const string docroot = "D:\\Bitnami\\wampstack-5.6.31-0\\apache2\\htdocs\\";
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
Request req;
|
||||||
|
Response res;
|
||||||
|
json j;
|
||||||
|
|
||||||
|
auto jsonfail=[&](int errcode,const std::string& errmsg)
|
||||||
|
{
|
||||||
|
j["success"]=0;
|
||||||
|
j["errcode"]=errcode;
|
||||||
|
j["errmsg"]=errmsg;
|
||||||
|
};
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
if(req.requestMethod!="POST")
|
||||||
|
{
|
||||||
|
jsonfail(1,"Request Method Not Supported");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(req.post.find("code")==req.post.end() ||
|
||||||
|
req.post.find("title")==req.post.end() )
|
||||||
|
{
|
||||||
|
jsonfail(2,"Missing Parameters");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
string code=req.post["code"];
|
||||||
|
string title=req.post["title"];
|
||||||
|
|
||||||
|
string html;
|
||||||
|
ifstream ifs("paste_template.txt");
|
||||||
|
if(!ifs)
|
||||||
|
{
|
||||||
|
jsonfail(3,"Failed to read template.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
string temp;
|
||||||
|
while(getline(ifs,temp))
|
||||||
|
{
|
||||||
|
html.append(temp);
|
||||||
|
}
|
||||||
|
|
||||||
|
int len=code.size();
|
||||||
|
ostringstream ostr;
|
||||||
|
for(int i=0;i<len;i++)
|
||||||
|
{
|
||||||
|
if(code[i]=='<')
|
||||||
|
{
|
||||||
|
ostr<<"<";
|
||||||
|
}
|
||||||
|
else if(code[i]=='>')
|
||||||
|
{
|
||||||
|
ostr<<">";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ostr<<code[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
string purecode=ostr.str();
|
||||||
|
|
||||||
|
string tag="{{Title}}";
|
||||||
|
html.replace(html.find(tag),tag.size(),title);
|
||||||
|
tag="{{Codetag}}";
|
||||||
|
html.replace(html.find(tag),tag.size(),"cpp");
|
||||||
|
tag="{{Code}}";
|
||||||
|
html.replace(html.find(tag),tag.size(),purecode);
|
||||||
|
|
||||||
|
int id,rd;
|
||||||
|
srand(time(NULL));
|
||||||
|
while(true)
|
||||||
|
{
|
||||||
|
id=time(NULL);
|
||||||
|
rd=rand()%100;
|
||||||
|
ifstream ifsx(make_str(docroot,"paste\\",id,"_",rd,".html"));
|
||||||
|
if(ifsx) continue;
|
||||||
|
else break;
|
||||||
|
}
|
||||||
|
|
||||||
|
string fname=make_str(docroot,"paste\\",id,"_",rd,".html");
|
||||||
|
|
||||||
|
ofstream ofs(fname);
|
||||||
|
if(!ofs)
|
||||||
|
{
|
||||||
|
jsonfail(4,"File cannot be created.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
ofs<<html<<endl;
|
||||||
|
|
||||||
|
j["success"]=1;
|
||||||
|
j["next_url"]=make_str("/paste/",id,"_",rd,".html");
|
||||||
|
|
||||||
|
}while(0);
|
||||||
|
|
||||||
|
res.content.append(j.dump());
|
||||||
|
res.show();
|
||||||
|
return 0;
|
||||||
|
}
|
Reference in New Issue
Block a user