Skip to content

Instantly share code, notes, and snippets.

@ruandao
Created July 20, 2016 06:26
Show Gist options
  • Select an option

  • Save ruandao/228b1613879a02cec4c2e75a0e17cd7f to your computer and use it in GitHub Desktop.

Select an option

Save ruandao/228b1613879a02cec4c2e75a0e17cd7f to your computer and use it in GitHub Desktop.
package main
import (
"flag"
"github.com/alecthomas/template"
"net/http"
"log"
)
var addr = flag.String("addr", ":1718", "http service addresses")
var templ = template.Must(template.New("qr").Parse(templateStr))
func main() {
flag.Parse()
http.Handle("/", http.HandlerFunc(QR))
err := http.ListenAndServe(*addr, nil)
if err != nil {
log.Fatal("ListenAndServe:", err)
}
}
func QR(w http.ResponseWriter, req *http.Request) {
templ.Execute(w, req.FormValue("s"))
}
const templateStr = `
<html>
<head>
<title>
QR Link Generate
</title>
</head>
<body>
{{if .}}
<img src="http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=UTF-8&chl={{.}}" />
<br>
{{.}}
<br>
<br>
{{end}}
<form action="/" name=f method="GET">
<input maxLength=1024 size=70 name=s value="" title="Text to QR Encode">
<input type=submit value="Show QR" name=qr>
</form>
</body>
</html>
`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment