func (mh ManifestHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { q := req.URL.Query() name, ok := q["p"] if !ok || len(name) != 1 { w.Header().Set("Content-Type", "text/html") t, err := template.New("show").Parse(ManifestIndexTemplate) options.FailIf(err, "can't parse template") err = t.Execute(w, mh) options.FailIf(err, "can't execute template") return } fmt.Printf("request for: %s\n", name[0]) var p auth.Prin if _, err := fmt.Sscanf("("+name[0]+")", "%v", &p); err != nil { http.NotFound(w, req) return } m := tao.DeriveManifest(&p) var b bytes.Buffer Dump(indent.NewHtmlWriter(&b, "h2"), tao.Manifest{"Principal Manifest": m}) s := b.String() w.Header().Set("Content-Type", "text/html") t, err := template.New("show").Parse(ManifestTemplate) options.FailIf(err, "can't parse template") err = t.Execute(w, template.HTML(s)) options.FailIf(err, "can't execute template") }
func Html(cert *x509.Certificate) string { var b bytes.Buffer Dump(indent.NewHtmlWriter(&b), cert) return b.String() }