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 }