From 9a2511e14693af167d7e5c81a7d6dc9bb64bdccb Mon Sep 17 00:00:00 2001 From: Marcus Noble Date: Fri, 3 Mar 2023 09:06:20 +0000 Subject: [PATCH] Updated with more query params Signed-off-by: Marcus Noble --- main.go | 45 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/main.go b/main.go index 440ce54..20917ca 100644 --- a/main.go +++ b/main.go @@ -2,20 +2,55 @@ package main import ( "fmt" - qrcode "github.com/skip2/go-qrcode" "net/http" + "strconv" + + qrcode "github.com/skip2/go-qrcode" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { - website := req.URL.Query().Get("website") - if website != "" { - png, _ := qrcode.Encode(website, qrcode.Medium, 80) + data := "" + if req.URL.Query().Get("website") != "" { + data = req.URL.Query().Get("website") + } else if req.URL.Query().Get("url") != "" { + data = req.URL.Query().Get("url") + } else if req.URL.Query().Get("data") != "" { + data = req.URL.Query().Get("data") + } else if req.URL.Query().Get("text") != "" { + data = req.URL.Query().Get("text") + } + + size := 150 + if req.URL.Query().Get("size") != "" { + i, err := strconv.Atoi(req.URL.Query().Get("size")) + if err == nil { + size = i + } + } + + disableBorder := false + if req.URL.Query().Get("disableBorder") != "" { + disableBorder = true + } + + if data != "" { + code, _ := qrcode.New(data, qrcode.Medium) + code.DisableBorder = disableBorder + png, _ := code.PNG(size) + w.Header().Set("Content-Type", "image/png") w.Write(png) return } - w.WriteHeader(400) + w.Write([]byte(`QR Code +
+
+
+
+ +
+`)) }) fmt.Println(http.ListenAndServe(":8080", nil)) }