tangled
alpha
login
or
join now
eldridge.cam
/
cgi-qr
0
fork
atom
CGI bin for generating a QR code
0
fork
atom
overview
issues
pulls
pipelines
add headers
eldridge.cam
3 months ago
67de8ec2
c2875ec7
+9
-3
1 changed file
expand all
collapse all
unified
split
src
main.rs
+9
-3
src/main.rs
···
5
5
use serde_hex::{SerHexOpt, StrictCap};
6
6
use serde_querystring::ParseMode;
7
7
use std::env;
8
8
-
use std::io::stdout;
8
8
+
use std::io::{Write, stdout};
9
9
10
10
#[derive(Deserialize, Debug)]
11
11
struct Options {
···
34
34
if let Some(bg) = options.bg {
35
35
renderer.light_color(Rgba::<u8>(bg));
36
36
}
37
37
-
let encoder = PngEncoder::new(stdout().lock());
37
37
+
let mut stdout = stdout().lock();
38
38
+
writeln!(stdout, "Content-type: image/png").map_err(|error| error.to_string())?;
39
39
+
writeln!(stdout, "Content-disposition: attachment; filename=qr.png")
40
40
+
.map_err(|error| error.to_string())?;
41
41
+
writeln!(stdout).map_err(|error| error.to_string())?;
42
42
+
let encoder = PngEncoder::new(stdout);
38
43
let image = renderer.build();
39
44
encoder
40
45
.write_image(
···
49
54
50
55
fn main() {
51
56
if let Err(error) = handle() {
52
52
-
eprintln!("{error}");
57
57
+
println!("Content-type: text/plain");
58
58
+
println!("{error}");
53
59
}
54
60
}