From 4d030d2e16ae4487d4c60f2e3c1b312b118715b9 Mon Sep 17 00:00:00 2001 From: yusing Date: Sat, 5 Apr 2025 14:05:32 +0800 Subject: [PATCH] refactor(gperr): simplify JSON marshaling in withSubject by using slices package for cloning and reversing subjects --- internal/gperr/subject.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/internal/gperr/subject.go b/internal/gperr/subject.go index 73a6edb..33679f7 100644 --- a/internal/gperr/subject.go +++ b/internal/gperr/subject.go @@ -2,6 +2,7 @@ package gperr import ( "encoding/json" + "slices" "strings" "github.com/yusing/go-proxy/internal/utils/strutils/ansi" @@ -89,10 +90,8 @@ func (err *withSubject) Error() string { // MarshalJSON implements the json.Marshaler interface. func (err *withSubject) MarshalJSON() ([]byte, error) { - subjects := make([]string, len(err.Subjects)) - for i, s := range err.Subjects { - subjects[len(err.Subjects)-i-1] = s - } + subjects := slices.Clone(err.Subjects) + slices.Reverse(subjects) reversed := map[string]any{ "subjects": subjects,