Documentation ¶
Overview ¶
Generator generates two structures, one for parameters one for result values.
Result values must be two, first is actual return value and second is error. If error is returned fault response will be generated.
Protocol handles first level of marshalling/unmarshalling
Xpath function helpers
Index ¶
- Variables
- func Exit(err interface{}, args ...interface{})
- func GenerateVariableName(prefix ...string) string
- func IsBlank(value string) bool
- func IsNotBlank(value string) bool
- func MD5(value string) string
- func RenderTemplate(tpl string, data map[string]interface{}, funcmaps ...template.FuncMap) string
- func RenderTemplateInto(w io.Writer, tpl string, data map[string]interface{}, ...)
- func XMLWriteError(element *etree.Element, err error)
- func XMLWriteStringSlice(element *etree.Element, stringSlice []string)
- func XPathValueGetBool(element *etree.Element, name string) (result bool, err error)
- func XPathValueGetBytes(element *etree.Element, name string) (result []byte, err error)
- func XPathValueGetFloat32(element *etree.Element, name string) (result float32, err error)
- func XPathValueGetFloat64(element *etree.Element, name string) (result float64, err error)
- func XPathValueGetInt(element *etree.Element, name string) (result int, err error)
- func XPathValueGetInt32(element *etree.Element, name string) (result int32, err error)
- func XPathValueGetInt64(element *etree.Element, name string) (result int64, err error)
- func XPathValueGetString(element *etree.Element, name string) (result string, err error)
- type Error
- type Generator
- type Handler
- type Param
- type Service
Constants ¶
This section is empty.
Variables ¶
var ( ErrNotService = errors.New("argument is not service") ErrServiceAlreadyRegistered = errors.New("service already registered") ErrServiceMustBePointer = errors.New("registered service must be pointer") )
var (
ErrMethodNotFound = errors.New("Method not found")
)
Functions ¶
func Exit ¶
func Exit(err interface{}, args ...interface{})
Exit prints error to stdout and exits with error
func GenerateVariableName ¶
GenerateVariableName generates unique variable name
func RenderTemplate ¶
RenderTemplate renders text template with data
func RenderTemplateInto ¶
func XMLWriteError ¶
XMLWriteError writes xml error
func XMLWriteStringSlice ¶
XMLWriteStringSlice writes array of string slice
func XPathValueGetBool ¶
XPathValueGetBool Returns bool from value
func XPathValueGetBytes ¶
XPathValueGetBytes Returns []byte from value
func XPathValueGetFloat32 ¶
XPathValueGetFloat32 Returns float64 from value
func XPathValueGetFloat64 ¶
XPathValueGetFloat64 Returns float64 from value
func XPathValueGetInt ¶
XPathValueGetInt Returns int from value
func XPathValueGetInt32 ¶
XPathValueGetInt64 Returns int64 from value
func XPathValueGetInt64 ¶
XPathValueGetInt64 Returns int64 from value
Types ¶
type Generator ¶
type Generator interface { // add service by its name AddService(name string) error // format returns formatted source code Format() []byte }
Generator interface
func NewGenerator ¶
NewGenerator returns Generator implementation
type Handler ¶
type Handler interface { // AddService under given namespace AddService(service interface{}, name string) error // ListMethods returns all available xmlrpc methods ListMethods() []string // ServeHTTP satisfy http.Handler ServeHTTP(w http.ResponseWriter, r *http.Request) }
Handler interface
type Param ¶
type Param interface { // Name returns code name Name() string // Type returns type Type() string // SetType sets type (useful in case of named types) SetType(string) // Writes Field FromEtree(element string, resultvar string, errvar string) string // Writes param to element ToEtree(element string, resultvar string, errvar string) string // returns all imports for given param Imports() []string }
New implementation of parameter
type Service ¶
type Service interface { // Dispatch method dispatches xmlrpc call Dispatch(method string, root *etree.Element) (result *etree.Document, err error) // returns list of all rpc methods ListMethods() []string // check if service has method MethodExists(string) bool }
Service interface must be satisfied when registering service This interface is satisfied when go generate is called