put.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package clt_client
  2. import (
  3. "bytes"
  4. "errors"
  5. "github.com/sirupsen/logrus"
  6. "io"
  7. "io/ioutil"
  8. "lc/common/mqtt"
  9. "net/http"
  10. )
  11. // SwitchProgram 切换节目
  12. func (c cltclient) SwitchProgram(m mqtt.Message, baseurl string) {
  13. var p Programm
  14. m.PayloadJSON(&p)
  15. url := baseurl + "vsns/sources/lan/vsns/" + p.Name + ".vsn/activated"
  16. request, err := http.NewRequest("PUT", url, nil)
  17. if err != nil {
  18. logrus.Errorf("Newrequest出错:%v", err)
  19. return
  20. }
  21. request.Header.Set("Accept", "application/json")
  22. resp, err := c.HttpClient.Do(request)
  23. if err != nil {
  24. logrus.Errorf("http错误%v", err)
  25. return
  26. }
  27. defer resp.Body.Close()
  28. ioutil.ReadAll(resp.Body)
  29. }
  30. // brightness
  31. func (c cltclient) CommonPut(payload []byte, url string) error {
  32. var r io.Reader
  33. if payload == nil {
  34. return errors.New("func CommonPut error PUT操作消息体不能为空!")
  35. } else {
  36. r = bytes.NewReader(payload)
  37. }
  38. req, err := http.NewRequest("PUT", url, r)
  39. req.Header.Add("Content-Type", "application/json")
  40. resp, err := c.HttpClient.Do(req)
  41. if err != nil {
  42. return err
  43. }
  44. defer resp.Body.Close()
  45. ioutil.ReadAll(resp.Body)
  46. return nil
  47. }