mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-30 19:08:37 +00:00 
			
		
		
		
	use experimental go json v2 library (#35392)
details: https://pkg.go.dev/encoding/json/v2 --------- Co-authored-by: techknowlogick <matti@mdranta.net> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		| @@ -103,7 +103,9 @@ func ParseImageConfig(mediaType string, r io.Reader) (*Metadata, error) { | ||||
|  | ||||
| func parseOCIImageConfig(r io.Reader) (*Metadata, error) { | ||||
| 	var image oci.Image | ||||
| 	if err := json.NewDecoder(r).Decode(&image); err != nil { | ||||
| 	// FIXME: JSON-KEY-CASE: here seems a abuse of the case-insensitive decoding feature, spec is case-sensitive | ||||
| 	// https://github.com/opencontainers/image-spec/blob/main/schema/config-schema.json | ||||
| 	if err := json.NewDecoderCaseInsensitive(r).Decode(&image); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
|   | ||||
| @@ -22,6 +22,8 @@ func TestParseImageConfig(t *testing.T) { | ||||
| 	repositoryURL := "https://gitea.com/gitea" | ||||
| 	documentationURL := "https://docs.gitea.com" | ||||
|  | ||||
| 	// FIXME: JSON-KEY-CASE: the test case is not right, the config fields are capitalized in the spec | ||||
| 	// https://github.com/opencontainers/image-spec/blob/main/schema/config-schema.json | ||||
| 	configOCI := `{"config": {"labels": {"` + labelAuthors + `": "` + author + `", "` + labelLicenses + `": "` + license + `", "` + labelURL + `": "` + projectURL + `", "` + labelSource + `": "` + repositoryURL + `", "` + labelDocumentation + `": "` + documentationURL + `", "` + labelDescription + `": "` + description + `"}}, "history": [{"created_by": "do it 1"}, {"created_by": "dummy #(nop) do it 2"}]}` | ||||
|  | ||||
| 	metadata, err := ParseImageConfig(oci.MediaTypeImageManifest, strings.NewReader(configOCI)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user