Making generated code worky better
but straying from the TDD path ... which is sad...
This commit is contained in:
parent
0bb83f358d
commit
c8b4612c2e
@ -22,11 +22,16 @@ var (
|
||||
package smpltgen
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"net/http"
|
||||
"text/template"
|
||||
|
||||
"github.com/meatballhat/box-o-sand/gotime/smplt"
|
||||
)
|
||||
|
||||
{{.InitPage.Body}}
|
||||
|
||||
{{if .HasTemplatePage}}
|
||||
const (
|
||||
SIMPLATE_TMPL_{{.ConstName}} = __BACKTICK__{{.TemplatePage.Body}}__BACKTICK__
|
||||
)
|
||||
@ -34,13 +39,31 @@ var (
|
||||
var (
|
||||
simplateTmpl{{.FuncName}} = template.Must(template.New("{{.FuncName}}").Parse(SIMPLATE_TMPL_{{.ConstName}}))
|
||||
)
|
||||
{{end}}
|
||||
|
||||
func SimplateHandlerFunc{{.FuncName}}(w http.ResponseWriter, req *http.Request) {
|
||||
var err error
|
||||
ctx := make(map[string]interface{})
|
||||
|
||||
{{range .LogicPages}}
|
||||
{{.Body}}
|
||||
{{end}}
|
||||
|
||||
{{if .HasTemplatePage}}
|
||||
var tmplBuf bytes.Buffer
|
||||
err = simplateTmpl{{.FuncName}}.Execute(&tmplBuf, ctx)
|
||||
if err != nil {
|
||||
w.Header().Set("Content-Type", "text/html")
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
w.Write(smplt.HTTP_500_RESPONSE)
|
||||
return
|
||||
}
|
||||
|
||||
w.Header().Set("Content-Type", "{{.ContentType}}")
|
||||
w.WriteHeader(http.StatusOK)
|
||||
w.Write(tmplBuf.Bytes())
|
||||
{{end}}
|
||||
}
|
||||
`, "__BACKTICK__", "`", -1)))
|
||||
)
|
||||
|
||||
@ -131,3 +154,7 @@ func (me *Simplate) ConstName() string {
|
||||
uppered := strings.ToUpper(escaped)
|
||||
return strings.Replace(uppered, "-", "_", -1)
|
||||
}
|
||||
|
||||
func (me *Simplate) HasTemplatePage() bool {
|
||||
return len(me.TemplatePage.Body) > 0
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ type Dance struct {
|
||||
When time.Time
|
||||
}
|
||||
|
||||
D := &Dance{
|
||||
ctx["D"] = &Dance{
|
||||
Who: "Everybody",
|
||||
When: time.Now(),
|
||||
}
|
||||
@ -45,11 +45,11 @@ type Dance struct {
|
||||
When time.Time
|
||||
}
|
||||
|
||||
D := &Dance{
|
||||
ctx["D"] = &Dance{
|
||||
Who: "Everybody",
|
||||
When: time.Now(),
|
||||
response.SetBody(ctx["D"])
|
||||
}
|
||||
response.SetBody(D)
|
||||
`
|
||||
BASIC_NEGOTIATED_SIMPLATE = `
|
||||
import (
|
||||
@ -61,7 +61,7 @@ type Dance struct {
|
||||
When time.Time
|
||||
}
|
||||
|
||||
D := &Dance{
|
||||
ctx["D"] = &Dance{
|
||||
Who: "Everybody",
|
||||
When: time.Now(),
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user