// GetAll retrieves a list of all things func (lr *ThingRouter) GetAll(r *http.Request, w http.ResponseWriter, thingModel *models.ThingModel, conn redis.Conn) { // if type is specified as a query param qs := r.URL.Query() var err error var things *[]*model.Thing if qs.Get("type") != "" { things, err = thingModel.FetchByType(qs.Get("type"), conn) } else { things, err = thingModel.FetchAll(conn) } if err != nil { WriteServerErrorResponse("Unable to retrieve things", http.StatusInternalServerError, w) return } WriteServerResponse(things, http.StatusOK, w) }