/* SPDX-License-Identifier: GPL-3.0-or-later */ /* Copyright 2022 Ivan Polyakov */ #include "Response.hxx" #ifdef EXTENSIONS_INJA #include #endif using namespace rpd; #ifdef EXTENSIONS_INJA void Response::render(const char *path, nlohmann::json data) { inja::Environment env; inja::Template tpl; try { std::string tplpath = DIST_PATH; tplpath += path; tpl = env.parse_template(tplpath); } catch (inja::FileError &e) { std::cerr << e.what() << std::endl; return; } try { std::string result = env.render(tpl, data); body(result.c_str()); } catch (inja::RenderError &e) { std::cerr << e.what() << std::endl; status(internal_server_error); return; } } #endif