adding qr code output

master
lalanza808 4 years ago
parent 1ea7c262be
commit a9c4a7efa3

@ -3,15 +3,15 @@
#[macro_use] extern crate rocket_contrib;
extern crate qrcode_generator;
use rocket::http::RawStr;
use rocket::response::Redirect;
use rocket_contrib::templates::Template;
use rocket_contrib::json::JsonValue;
use rocket_contrib::serve::StaticFiles;
use qrcode_generator::QrCodeEcc;
use std::process::Command;
fn genkey() -> String {
let output = Command::new("sh")
.args(&["-c", "wg", "genkey"])
let output = Command::new("wg")
.arg("genkey")
.output()
.expect("failed to execute process");
let stdout = output.stdout;
@ -26,9 +26,15 @@ fn index() -> String {
}
#[get("/new")]
fn new_key() -> String {
fn new_key() -> Template {
let new_key = genkey();
new_key.to_string()
let qr_code: String = qrcode_generator::to_svg_to_string(new_key, QrCodeEcc::Low, 256, None)
.unwrap();
let qr_code: String = base64::encode(qr_code);
let context: JsonValue = json!({
"qr_code": qr_code,
});
Template::render("new", context)
}
#[catch(404)]

@ -0,0 +1 @@
<img src="data:image/svg+xml;base64,{{ qr_code }}" width=200 class="center">
Loading…
Cancel
Save