2012-09-02 13:49:03 -06:00
|
|
|
// Copyright 2009 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
2011-08-20 17:46:19 -06:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"flag"
|
2012-09-13 14:41:13 -06:00
|
|
|
"html/template"
|
2011-08-20 17:46:19 -06:00
|
|
|
"log"
|
2011-11-08 16:43:02 -07:00
|
|
|
"net/http"
|
2011-08-20 17:46:19 -06:00
|
|
|
)
|
|
|
|
|
|
|
|
var addr = flag.String("addr", ":1718", "http service address") // Q=17, R=18
|
|
|
|
|
|
|
|
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 Generator</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
{{if .}}
|
2012-09-13 14:41:13 -06:00
|
|
|
<img src="http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=UTF-8&chl={{.}}" />
|
2011-08-20 17:46:19 -06:00
|
|
|
<br>
|
2012-09-13 14:41:13 -06:00
|
|
|
{{.}}
|
2011-08-20 17:46:19 -06:00
|
|
|
<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>
|
|
|
|
`
|