示例#1
0
func handle(conn *net.UDPConn, addr *net.UDPAddr, mess *coap.Message) *coap.Message {
	log.Printf("Got message path=%q: %#v from %v", mess.Path(), mess, addr)

	var payload []byte
	var err error

	// checks available endpoints
	check := check_endpoint(mess.Path())
	if !check {
		return response(mess, coap.BadRequest, &payload)
	}

	// invoke handler
	payload, err = handlers.SendRequest(mess)
	if err != nil {
		log.Printf("Error on handler, stopping: %v", err)
		return nil
	}

	if mess.IsConfirmable() {
		return response(mess, coap.Content, &payload)
	}

	return nil
}