Example #1
0
func printserver(dir string, apiset *parser.APISet, apipkg string, impl string) {
	if impl == "" {
		die(errors.New("must use -impl=your.package/full/path to give implementation package"))
	}

	apiset.ServerImports = []string{
		"time",
		"io",
		"strings",
		"compress/gzip",
		"encoding/json",
		"encoding/base64",
		apipkg,
		impl,
		"net/http",
		"log",
	}
	apiset.ImplPkg = impl

	tpl := codeTemplate()

	p := filepath.Join(dir, apiset.Name+"httpimpl", "gen.go")
	os.Mkdir(filepath.Dir(p), 0755)
	f, err := os.Create(p)
	if err != nil {
		panic(err)
	}
	err = tpl.ExecuteTemplate(f, "httpserver", apiset)
	if err != nil {
		panic(err)
	}
}