package main import ( "fmt" "net/http" "strconv" qrcode "github.com/skip2/go-qrcode" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { 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.Write([]byte(`QR Code



`)) }) fmt.Println(http.ListenAndServe(":8080", nil)) }