package writer import ( "strings" "github.com/rancher/norman/api/builtin" "github.com/rancher/norman/types" ) var ( start = ` `) ) type HTMLResponseWriter struct { JSONResponseWriter } func (h *HTMLResponseWriter) start(apiContext *types.APIContext, code int, obj interface{}) { apiContext.Response.Header().Set("content-type", "text/html") apiContext.Response.WriteHeader(code) } func (h *HTMLResponseWriter) Write(apiContext *types.APIContext, code int, obj interface{}) { h.start(apiContext, code, obj) schemaSchema := apiContext.Schemas.Schema(&builtin.Version, "schema") if schemaSchema != nil { headerString := strings.Replace(start, "%SCHEMAS%", apiContext.URLBuilder.Collection(schemaSchema, apiContext.Version), 1) apiContext.Response.Write([]byte(headerString)) } h.Body(apiContext, apiContext.Response, obj) if schemaSchema != nil { apiContext.Response.Write(end) } }