KitBoiler generates endpoints, request/response types, request decoders and http handlers for use with Go kit (https://gokit.io), based on an interface that defines a service.
NOTE: KitBoiler is still work in progress and may or may not work as advertised. It probably won't eat your cat although you can't be sure until it does.
Given a service definition/interface in github.com/me/mypkg/api/somefile.go:
type MyService interface {
MyFirstFunction(name string) (err error)
MyFirstQuery() (results []*model.QueryResult, err error)
MySecondQuery() (result *somepkg.FooBar, err error)
}
NOTE: you HAVE to provide names for both the parameters and the return vars in your interface definition as those are used by kitboiler. Choose the names wisely as they will become part of your public interface.
You should call KitBoiler like:
kitboiler github.com/me/mypkg/api.MyService
This generates a package containing endpoint functions, request/response types and http handler functions for all functions defined in the interface specification.
Implementation is based on the impl package by Josh Snyder (https://github.com/josharian/impl) and inspiration was generously provided by SQLBoiler (https://github.com/volatiletech/sqlboiler)