@@ -23,7 +23,7 @@ std::string shell_commons(const char* cmd) {
23
23
return result;
24
24
}
25
25
26
- std::string genTree (const HttpRequestPtr &req, std::function<void (const HttpResponsePtr &)> &&callback)
26
+ void genTree (const HttpRequestPtr &req, std::function<void (const HttpResponsePtr &)> &&callback)
27
27
{
28
28
char *pathvar;
29
29
pathvar = getenv (" PWD" );
@@ -32,9 +32,8 @@ std::string genTree(const HttpRequestPtr &req, std::function<void(const HttpResp
32
32
res->addHeader (" Access-Control-Allow-Origin" , " *" );
33
33
res ->setBody (result);
34
34
callback (res);
35
- return result;
36
35
}
37
- std::string catFile (const HttpRequestPtr &req, std::function<void (const HttpResponsePtr &)> &&callback)
36
+ void catFile (const HttpRequestPtr &req, std::function<void (const HttpResponsePtr &)> &&callback)
38
37
{
39
38
char *pathvar;
40
39
pathvar = getenv (" PWD" );
@@ -44,5 +43,25 @@ std::string catFile(const HttpRequestPtr &req, std::function<void(const HttpResp
44
43
res->addHeader (" Access-Control-Allow-Origin" , " *" );
45
44
res ->setBody (result);
46
45
callback (res);
47
- return result;
46
+ }
47
+ void saveFile (const HttpRequestPtr &req, std::function<void (const HttpResponsePtr &)> &&callback)
48
+ {
49
+ auto body = req->getBody ();
50
+ Json::Value req_json;
51
+ Json::Reader reader;
52
+ std::string bodyStr (body);
53
+ if (!reader.parse (bodyStr, req_json)) {
54
+ std::cout<<" parse failed" <<std::endl;
55
+ callback (HttpResponse::newHttpResponse ());
56
+ return ;
57
+ }
58
+ char *pathvar;
59
+ pathvar = getenv (" PWD" );
60
+ std::string filename = req_json[" filename" ].asString ();
61
+ std::string content = req_json[" content" ].asString ();
62
+ std::string result = shell_commons ((" echo '" +content+" '>" +std::string (pathvar)+" /../root/" +filename).c_str ()) ;
63
+ auto res = HttpResponse::newHttpResponse ();
64
+ res->addHeader (" Access-Control-Allow-Origin" , " *" );
65
+ res ->setBody (" success" );
66
+ callback (res);
48
67
}
0 commit comments