You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
| // Copyright 2014 Manu Martinez-Almeida. All rights reserved.
 | |
| // Use of this source code is governed by a MIT style
 | |
| // license that can be found in the LICENSE file.
 | |
| 
 | |
| package render
 | |
| 
 | |
| import "net/http"
 | |
| 
 | |
| // Render interface is to be implemented by JSON, XML, HTML, YAML and so on.
 | |
| type Render interface {
 | |
| 	// Render writes data with custom ContentType.
 | |
| 	Render(http.ResponseWriter) error
 | |
| 	// WriteContentType writes custom ContentType.
 | |
| 	WriteContentType(w http.ResponseWriter)
 | |
| }
 | |
| 
 | |
| var (
 | |
| 	_ Render     = JSON{}
 | |
| 	_ Render     = IndentedJSON{}
 | |
| 	_ Render     = SecureJSON{}
 | |
| 	_ Render     = JsonpJSON{}
 | |
| 	_ Render     = XML{}
 | |
| 	_ Render     = String{}
 | |
| 	_ Render     = Redirect{}
 | |
| 	_ Render     = Data{}
 | |
| 	_ Render     = HTML{}
 | |
| 	_ HTMLRender = HTMLDebug{}
 | |
| 	_ HTMLRender = HTMLProduction{}
 | |
| 	_ Render     = YAML{}
 | |
| 	_ Render     = Reader{}
 | |
| 	_ Render     = AsciiJSON{}
 | |
| 	_ Render     = ProtoBuf{}
 | |
| 	_ Render     = TOML{}
 | |
| )
 | |
| 
 | |
| func writeContentType(w http.ResponseWriter, value []string) {
 | |
| 	header := w.Header()
 | |
| 	if val := header["Content-Type"]; len(val) == 0 {
 | |
| 		header["Content-Type"] = value
 | |
| 	}
 | |
| }
 |