3
0
Files
corteza/sam/templates/http_interfaces.tpl

34 lines
691 B
Smarty

package {package}
import (
"net/http"
)
// HTTP handlers are a superset of internal APIs
type {name}Handlers struct {
*{name}
}
func ({name}Handlers) new() *{name}Handlers {
return &{name}Handlers{
{name}{}.new(),
}
}
// Internal API interface
type {name}API interface {
{foreach $calls as $call}
{call.name|ucfirst}(*{name|lcfirst}{call.name|ucfirst}Request) (interface{}, error)
{/foreach}
}
// HTTP API interface
type {name}HandlersAPI interface {
{foreach $calls as $call}
{call.name|ucfirst}(http.ResponseWriter, *http.Request)
{/foreach}
}
// Compile time check to see if we implement the interfaces
var _ {name}HandlersAPI = &{name}Handlers{}
var _ {name}API = &{name}{}