lume/endpoints.go

36 lines
893 B
Go
Raw Normal View History

2020-02-23 21:01:12 -06:00
package lifx
import (
"fmt"
"net/url"
"path"
)
func BuildURL(rawurl, rawpath string) string {
u, _ := url.Parse(rawurl)
u.Path = path.Join(u.Path, rawpath)
return u.String()
}
var (
Endpoint = "https://api.lifx.com/v1"
2020-02-28 19:34:59 -06:00
EndpointState = func(selector string) string {
return BuildURL(Endpoint, fmt.Sprintf("/lights/%s/state", selector))
}
2020-03-07 20:02:37 -06:00
EndpointStateDelta = func(selector string) string {
return BuildURL(Endpoint, fmt.Sprintf("/lights/%s/state/delta", selector))
}
2020-03-06 23:00:21 -06:00
EndpointListLights = func(selector string) string {
return BuildURL(Endpoint, fmt.Sprintf("/lights/%s", selector))
}
2020-02-29 00:08:39 -06:00
EndpointStates = func() string {
return BuildURL(Endpoint, "/lights/states")
}
2020-03-06 20:55:31 -06:00
EndpointColor = func() string {
return BuildURL(Endpoint, "/color")
2020-02-29 23:15:39 -06:00
}
2020-02-28 19:34:59 -06:00
EndpointToggle = func(selector string) string {
return BuildURL(Endpoint, fmt.Sprintf("/lights/%s/toggle", selector))
}
2020-02-23 21:01:12 -06:00
)