feat(cwmp): addObject message
This commit is contained in:
parent
f3232032b7
commit
fe85ea3645
|
|
@ -61,6 +61,7 @@ func (a *Api) StartApi() {
|
|||
iot.HandleFunc("/cwmp/{sn}/getParameterValues", a.cwmpGetParameterValuesMsg).Methods("PUT")
|
||||
iot.HandleFunc("/cwmp/{sn}/getParameterAttributes", a.cwmpGetParameterAttributesMsg).Methods("PUT")
|
||||
iot.HandleFunc("/cwmp/{sn}/setParameterValues", a.cwmpSetParameterValuesMsg).Methods("PUT")
|
||||
iot.HandleFunc("/cwmp/{sn}/addObject", a.cwmpAddObjectMsg).Methods("PUT")
|
||||
iot.HandleFunc("", a.retrieveDevices).Methods("GET")
|
||||
iot.HandleFunc("/{id}", a.retrieveDevices).Methods("GET")
|
||||
iot.HandleFunc("/{sn}/{mtp}/get", a.deviceGetMsg).Methods("PUT")
|
||||
|
|
|
|||
|
|
@ -85,7 +85,25 @@ func (a *Api) cwmpSetParameterValuesMsg(w http.ResponseWriter, r *http.Request)
|
|||
w.Write(data)
|
||||
}
|
||||
|
||||
func cwmpInteraction[T cwmp.SetParameterValuesResponse | cwmp.GetParameterAttributesResponse | cwmp.GetParameterNamesResponse | cwmp.GetParameterValuesResponse](
|
||||
func (a *Api) cwmpAddObjectMsg(w http.ResponseWriter, r *http.Request) {
|
||||
sn := getSerialNumberFromRequest(r)
|
||||
|
||||
payload, err := io.ReadAll(r.Body)
|
||||
if err != nil {
|
||||
w.WriteHeader(http.StatusBadRequest)
|
||||
w.Write(utils.Marshall(err.Error()))
|
||||
return
|
||||
}
|
||||
|
||||
data, _, err := cwmpInteraction[cwmp.AddObjectResponse](sn, payload, w, a.nc)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
w.Write(data)
|
||||
}
|
||||
|
||||
func cwmpInteraction[T cwmp.SetParameterValuesResponse | cwmp.GetParameterAttributesResponse | cwmp.GetParameterNamesResponse | cwmp.GetParameterValuesResponse | cwmp.AddObjectResponse](
|
||||
sn string, payload []byte, w http.ResponseWriter, nc *nats.Conn,
|
||||
) ([]byte, T, error) {
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user