package sockjs import ( "crypto/md5" "fmt" "net/http" "text/template" ) var tmpl = template.Must(template.New("iframe").Parse(iframeBody)) func (h *handler) iframe(rw http.ResponseWriter, req *http.Request) { etagReq := req.Header.Get("If-None-Match") hash := md5.New() hash.Write([]byte(iframeBody)) etag := fmt.Sprintf("%x", hash.Sum(nil)) if etag == etagReq { rw.WriteHeader(http.StatusNotModified) return } rw.Header().Set("Content-Type", "text/html; charset=UTF-8") rw.Header().Add("ETag", etag) tmpl.Execute(rw, h.options.SockJSURL) } var iframeBody = `
This is a SockJS hidden iframe. It's used for cross domain magic.
`