| 646 | } |
| 647 | |
| 648 | func (ui *UIHandler) serveQR(rw http.ResponseWriter, req *http.Request) { |
| 649 | url := req.URL.Query().Get("url") |
| 650 | if url == "" { |
| 651 | http.Error(rw, "Missing url parameter.", http.StatusBadRequest) |
| 652 | return |
| 653 | } |
| 654 | code, err := qr.Encode(url, qr.L) |
| 655 | if err != nil { |
| 656 | http.Error(rw, err.Error(), http.StatusInternalServerError) |
| 657 | return |
| 658 | } |
| 659 | rw.Header().Set("Content-Type", "image/png") |
| 660 | rw.Write(code.PNG()) |
| 661 | } |
| 662 | |
| 663 | // serveDepsJS serves an auto-generated Closure deps.js file. |
| 664 | func serveDepsJS(rw http.ResponseWriter, req *http.Request, dir string) { |