Documentation
¶
Overview ¶
Package api provides a webserver to interact with your Gobot program over the network.
Example:
package main
import (
"fmt"
"gobot.io/x/gobot"
"gobot.io/x/gobot/api"
)
func main() {
gbot := gobot.NewMaster()
// Starts the API server on default port 3000
api.NewAPI(gbot).Start()
// Accessible via http://localhost:3000/api/commands/say_hello
gbot.AddCommand("say_hello", func(params map[string]interface{}) interface{} {
return "Master says hello!"
})
hello := gbot.AddRobot(gobot.NewRobot("Eve"))
// Accessible via http://localhost:3000/robots/Eve/commands/say_hello
hello.AddCommand("say_hello", func(params map[string]interface{}) interface{} {
return fmt.Sprintf("%v says hello!", hello.Name)
})
gbot.Start()
}
It follows Common Protocol for Programming Physical Input and Output (CPPP-IO) spec: https://gobot.io/x/cppp-io
Index ¶
- func AllowRequestsFrom(allowedOrigins ...string) http.HandlerFunc
- func BasicAuth(username, password string) http.HandlerFunc
- type API
- func (a *API) AddHandler(f func(http.ResponseWriter, *http.Request))
- func (a *API) Debug()
- func (a *API) Delete(path string, f func(http.ResponseWriter, *http.Request))
- func (a *API) Get(path string, f func(http.ResponseWriter, *http.Request))
- func (a *API) Head(path string, f func(http.ResponseWriter, *http.Request))
- func (a *API) Options(path string, f func(http.ResponseWriter, *http.Request))
- func (a *API) Post(path string, f func(http.ResponseWriter, *http.Request))
- func (a *API) Put(path string, f func(http.ResponseWriter, *http.Request))
- func (a *API) ServeHTTP(res http.ResponseWriter, req *http.Request)
- func (a *API) Start()
- type CORS
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AllowRequestsFrom ¶
func AllowRequestsFrom(allowedOrigins ...string) http.HandlerFunc
AllowRequestsFrom returns handler to verify that requests come from allowedOrigins
func BasicAuth ¶
func BasicAuth(username, password string) http.HandlerFunc
BasicAuth returns basic auth handler.
Types ¶
type API ¶
type API struct {
Host string
Port string
Cert string
Key string
// contains filtered or unexported fields
}
API represents an API server
func (*API) AddHandler ¶
func (a *API) AddHandler(f func(http.ResponseWriter, *http.Request))
AddHandler appends handler to api handlers
type CORS ¶
type CORS struct {
AllowOrigins []string
AllowHeaders []string
AllowMethods []string
ContentType string
// contains filtered or unexported fields
}
CORS represents CORS configuration
func (*CORS) AllowedHeaders ¶
AllowedHeaders returns allowed headers in a string
func (*CORS) AllowedMethods ¶
AllowedMethods returns allowed http methods in a string
Click to show internal directories.
Click to hide internal directories.