diff --git a/internal/form/label_search.go b/internal/form/label_search.go index 429bc383a..7cfa93489 100644 --- a/internal/form/label_search.go +++ b/internal/form/label_search.go @@ -1,7 +1,6 @@ package form import ( - "bytes" "fmt" "reflect" "strconv" @@ -29,7 +28,7 @@ type LabelSearch struct { } func (f *LabelSearch) ParseQueryString() (result error) { - var key, value []byte + var key, value []rune var escaped, isKeyValue bool query := f.Query @@ -43,9 +42,9 @@ func (f *LabelSearch) ParseQueryString() (result error) { for _, char := range query { if unicode.IsSpace(char) && !escaped { if isKeyValue { - fieldName := string(bytes.Title(bytes.ToLower(key))) + fieldName := strings.Title(string(key)) field := formValues.FieldByName(fieldName) - stringValue := string(bytes.ToLower(value)) + stringValue := string(value) if field.CanSet() { switch field.Interface().(type) { @@ -90,7 +89,7 @@ func (f *LabelSearch) ParseQueryString() (result error) { result = fmt.Errorf("unknown filter: %s", fieldName) } } else { - f.Query = string(bytes.ToLower(key)) + f.Query = string(key) } escaped = false @@ -102,9 +101,9 @@ func (f *LabelSearch) ParseQueryString() (result error) { } else if char == '"' { escaped = !escaped } else if isKeyValue { - value = append(value, byte(char)) + value = append(value, unicode.ToLower(char)) } else { - key = append(key, byte(char)) + key = append(key, unicode.ToLower(char)) } }