server/rest: add console to index
register the console template and render it when the 'console' parameter is given Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
1c2f842a98
commit
01ca99da2d
|
@ -56,6 +56,7 @@ async fn run() -> Result<(), Error> {
|
||||||
let mut indexpath = PathBuf::from(buildcfg::JS_DIR);
|
let mut indexpath = PathBuf::from(buildcfg::JS_DIR);
|
||||||
indexpath.push("index.hbs");
|
indexpath.push("index.hbs");
|
||||||
config.register_template("index", &indexpath)?;
|
config.register_template("index", &indexpath)?;
|
||||||
|
config.register_template("console", "/usr/share/pve-xtermjs/index.html.hbs")?;
|
||||||
|
|
||||||
let rest_server = RestServer::new(config);
|
let rest_server = RestServer::new(config);
|
||||||
|
|
||||||
|
|
|
@ -319,11 +319,14 @@ fn get_index(username: Option<String>, token: Option<String>, api: &Arc<ApiConfi
|
||||||
let token = token.unwrap_or_else(|| String::from(""));
|
let token = token.unwrap_or_else(|| String::from(""));
|
||||||
|
|
||||||
let mut debug = false;
|
let mut debug = false;
|
||||||
|
let mut template_file = "index";
|
||||||
|
|
||||||
if let Some(query_str) = parts.uri.query() {
|
if let Some(query_str) = parts.uri.query() {
|
||||||
for (k, v) in form_urlencoded::parse(query_str.as_bytes()).into_owned() {
|
for (k, v) in form_urlencoded::parse(query_str.as_bytes()).into_owned() {
|
||||||
if k == "debug" && v != "0" && v != "false" {
|
if k == "debug" && v != "0" && v != "false" {
|
||||||
debug = true;
|
debug = true;
|
||||||
|
} else if k == "console" {
|
||||||
|
template_file = "console";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -337,12 +340,12 @@ fn get_index(username: Option<String>, token: Option<String>, api: &Arc<ApiConfi
|
||||||
|
|
||||||
let mut ct = "text/html";
|
let mut ct = "text/html";
|
||||||
|
|
||||||
let index = match api.render_template("index", &data) {
|
let index = match api.render_template(template_file, &data) {
|
||||||
Ok(index) => index,
|
Ok(index) => index,
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
ct = "text/plain";
|
ct = "text/plain";
|
||||||
format!("Error rendering template: {}", err)
|
format!("Error rendering template: {}", err)
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Response::builder()
|
Response::builder()
|
||||||
|
|
Loading…
Reference in New Issue