aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main.go11
1 files changed, 3 insertions, 8 deletions
diff --git a/main.go b/main.go
index 3c4a2d2..199746e 100644
--- a/main.go
+++ b/main.go
@@ -55,17 +55,12 @@ func mainHandler(ds DataStore, w http.ResponseWriter, r *http.Request) {
func parseValues(values url.Values) map[int]url.Values {
parts := make(map[int]url.Values)
- var letter string
+ var field string
var idx int
for key, value := range values {
- _, err := fmt.Sscanf(key, "%1s[%d]", &letter, &idx)
- if err != nil {
- continue
- }
- if _, ok := parts[idx]; !ok {
- parts[idx] = make(url.Values)
+ if _, err := fmt.Sscanf(key, "%s[%d]", &field, &idx); err != nil {
+ parts[idx][field] = append(parts[idx][field], value...)
}
- parts[idx][letter] = value
}
return parts
}