func (cat *Category) GetCategories(r *http.Request) ([]CategoryReturn, error) { parentCat := r.Header.Get("Parent-Category") //convert header string to int64 parentId, err := strconv.ParseInt(parentCat, 10, 64) if err != nil { return []CategoryReturn{}, err } categoryModel := model.Category{} categories, err := categoryModel.GetCategories(r, parentId) if err != nil { log.Println(err) } results := make([]CategoryReturn, 0, 20) for _, r := range categories { y := CategoryReturn{ Name: r.Name, Id: r.Id, ParentId: r.ParentId, Products: r.Products, Key: r.Key, } results = append(results, y) } return results, nil }