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)
+}