{"id":"1aa5a05b4cc3000b","repo":"docker/cli","slug":"invalid-details-format","errorCode":null,"errorMessage":"invalid details format","messagePattern":"invalid details format","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/logdetails/parse_logs.go","lineNumber":24,"sourceCode":"\t\"net/url\"\n\t\"strings\"\n)\n\n// Parse parses a string of key value pairs in the form\n// \"k=v,l=w\", where the keys and values are url query escaped, and each pair\n// is separated by a comma. Returns a map of the key value pairs on success,\n// and an error if the details string is not in a valid format.\n//\n// The details string encoding is implemented in\n// github.com/moby/moby/api/server/httputils/write_log_stream.go\nfunc Parse(details string) (map[string]string, error) {\n\tpairs := strings.Split(details, \",\")\n\tdetailsMap := make(map[string]string, len(pairs))\n\tfor _, pair := range pairs {\n\t\tk, v, ok := strings.Cut(pair, \"=\")\n\t\tif !ok || k == \"\" {\n\t\t\t// missing equal sign, or no key.\n\t\t\treturn nil, errors.New(\"invalid details format\")\n\t\t}\n\t\tvar err error\n\t\tk, err = url.QueryUnescape(k)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tv, err = url.QueryUnescape(v)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t\tdetailsMap[k] = v\n\t}\n\treturn detailsMap, nil\n}\n","sourceCodeStart":6,"sourceCodeEnd":39,"githubUrl":"https://github.com/docker/cli/blob/e9452d6e785f6e365712b9d71bd7517591773c86/internal/logdetails/parse_logs.go#L6-L39","documentation":"Error \"invalid details format\" thrown in docker/cli.","triggerScenarios":"Thrown at internal/logdetails/parse_logs.go:24 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"e9452d6e785f6e365712b9d71bd7517591773c86","analyzedAt":"2026-08-01T07:09:22.474Z","schemaVersion":2}