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.