]> Cypherpunks repositories - gostls13.git/commitdiff
godoc: minor fixes
authorRobert Griesemer <gri@golang.org>
Sat, 20 Aug 2011 19:39:38 +0000 (12:39 -0700)
committerRobert Griesemer <gri@golang.org>
Sat, 20 Aug 2011 19:39:38 +0000 (12:39 -0700)
- templates should be read before any handlers are started
- for app engine use, must use underlying file system to read templates

R=r
CC=golang-dev
https://golang.org/cl/4928042

src/cmd/godoc/godoc.go
src/cmd/godoc/main.go

index b8a839404389e3f43e1e299a996b5f7e71f1c653..3d29db5199d8fc21eabf23c586124b4b6f241898 100644 (file)
@@ -540,7 +540,19 @@ func readTemplate(name string) *template.Template {
                        path = defaultpath
                }
        }
-       return template.Must(template.New(name).Funcs(fmap).ParseFile(path))
+
+       // use underlying file system fs to read the template file
+       // (cannot use template ParseFile functions directly)
+       data, err := fs.ReadFile(path)
+       if err != nil {
+               log.Fatal("readTemplate: ", err)
+       }
+       // be explicit with errors (for app engine use)
+       t, err := template.New(name).Funcs(fmap).Parse(string(data))
+       if err != nil {
+               log.Fatal("readTemplate: ", err)
+       }
+       return t
 }
 
 var (
index 89b12b9acbb6a79e544a6096e63d426884c9b334..48bfa2477e9b3a85bceebba212b33287e1f1ff4f 100644 (file)
@@ -250,8 +250,8 @@ func main() {
                fsHttp = NewHttpZipFS(rc, *goroot)
        }
 
-       initHandlers()
        readTemplates()
+       initHandlers()
 
        if *httpAddr != "" {
                // HTTP server mode.