Mercurial > hg > orthanc
diff OrthancServer/OrthancRestApi/OrthancRestSystem.cpp @ 1023:226cfef3822e templating
integration mainline->templating
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 10 Jul 2014 11:42:32 +0200 |
parents | cf52f3bcb2b3 |
children | 01414536c930 |
line wrap: on
line diff
--- a/OrthancServer/OrthancRestApi/OrthancRestSystem.cpp Wed Jun 25 11:56:48 2014 +0200 +++ b/OrthancServer/OrthancRestApi/OrthancRestSystem.cpp Thu Jul 10 11:42:32 2014 +0200 @@ -43,12 +43,12 @@ { // System information ------------------------------------------------------- - static void ServeRoot(RestApi::GetCall& call) + static void ServeRoot(RestApiGetCall& call) { call.GetOutput().Redirect("app/explorer.html"); } - static void GetSystemInformation(RestApi::GetCall& call) + static void GetSystemInformation(RestApiGetCall& call) { Json::Value result = Json::objectValue; @@ -58,14 +58,14 @@ call.GetOutput().AnswerJson(result); } - static void GetStatistics(RestApi::GetCall& call) + static void GetStatistics(RestApiGetCall& call) { Json::Value result = Json::objectValue; OrthancRestApi::GetIndex(call).ComputeStatistics(result); call.GetOutput().AnswerJson(result); } - static void GenerateUid(RestApi::GetCall& call) + static void GenerateUid(RestApiGetCall& call) { std::string level = call.GetArgument("level", ""); if (level == "patient") @@ -86,15 +86,20 @@ } } - static void ExecuteScript(RestApi::PostCall& call) + static void ExecuteScript(RestApiPostCall& call) { std::string result; ServerContext& context = OrthancRestApi::GetContext(call); - context.GetLuaContext().Execute(result, call.GetPostBody()); + + { + ServerContext::LuaContextLocker locker(context); + locker.GetLua().Execute(result, call.GetPostBody()); + } + call.GetOutput().AnswerBuffer(result, "text/plain"); } - static void GetNowIsoString(RestApi::GetCall& call) + static void GetNowIsoString(RestApiGetCall& call) { call.GetOutput().AnswerBuffer(Toolbox::GetNowIsoString(), "text/plain"); }