diff --git a/pkg/schemaserver/writer/html.go b/pkg/schemaserver/writer/html.go index 833f59c..dbf2ba7 100644 --- a/pkg/schemaserver/writer/html.go +++ b/pkg/schemaserver/writer/html.go @@ -1,6 +1,7 @@ package writer import ( + "encoding/json" "strings" "github.com/rancher/steve/pkg/schemaserver/types" @@ -22,7 +23,7 @@ var ( @@ -57,7 +58,7 @@ func (h *HTMLResponseWriter) write(apiOp *types.APIRequest, code int, obj interf schemaSchema := apiOp.Schemas.Schemas["schema"] headerString := start if schemaSchema != nil { - headerString = strings.Replace(headerString, "%SCHEMAS%", apiOp.URLBuilder.Collection(schemaSchema), 1) + headerString = strings.Replace(headerString, "%SCHEMAS%", jsonEncodeURL(apiOp.URLBuilder.Collection(schemaSchema)), 1) } var jsurl, cssurl string if h.CSSURL != nil && h.JSURL != nil && h.CSSURL() != "" && h.JSURL() != "" { @@ -83,3 +84,8 @@ func (h *HTMLResponseWriter) write(apiOp *types.APIRequest, code int, obj interf apiOp.Response.Write(end) } } + +func jsonEncodeURL(str string) string { + data, _ := json.Marshal(str) + return string(data) +}