chore(header): Add support for RFC 9512: application/yaml (#3851)
* fix(binding): support application/yaml RFC 9512 defines application/yaml as the official YAML MIME type. application/x-yaml is deprecated. In this commit, we ensure it is recognized correctly in Content-Type. * fix(render): use application/yaml when rendering YAML As per RFC 9512, application/x-yaml is now deprecated and applications should use application/yaml. This commit fix the Content-Type header when rendering YAML.
This commit is contained in:
		@ -280,12 +280,12 @@ b:
 | 
			
		||||
	d: [3, 4]
 | 
			
		||||
	`
 | 
			
		||||
	(YAML{data}).WriteContentType(w)
 | 
			
		||||
	assert.Equal(t, "application/x-yaml; charset=utf-8", w.Header().Get("Content-Type"))
 | 
			
		||||
	assert.Equal(t, "application/yaml; charset=utf-8", w.Header().Get("Content-Type"))
 | 
			
		||||
 | 
			
		||||
	err := (YAML{data}).Render(w)
 | 
			
		||||
	assert.NoError(t, err)
 | 
			
		||||
	assert.Equal(t, "|4-\n    a : Easy!\n    b:\n    \tc: 2\n    \td: [3, 4]\n    \t\n", w.Body.String())
 | 
			
		||||
	assert.Equal(t, "application/x-yaml; charset=utf-8", w.Header().Get("Content-Type"))
 | 
			
		||||
	assert.Equal(t, "application/yaml; charset=utf-8", w.Header().Get("Content-Type"))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type fail struct{}
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,7 @@ type YAML struct {
 | 
			
		||||
	Data any
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var yamlContentType = []string{"application/x-yaml; charset=utf-8"}
 | 
			
		||||
var yamlContentType = []string{"application/yaml; charset=utf-8"}
 | 
			
		||||
 | 
			
		||||
// Render (YAML) marshals the given interface object and writes data with custom ContentType.
 | 
			
		||||
func (r YAML) Render(w http.ResponseWriter) error {
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user