1
0
mirror of https://github.com/taigrr/wasm-experiments synced 2025-01-18 04:03:21 -08:00
Johan Brandhorst e481a67ae8
Use innerText instead of innerHTML to discourage XSS risks
Roberto Clapis (@empijei) pointed out to me that using innerHTML for
unformatted text is bad practice, so I've switched to using innerText
and SetTextContent instead.
2018-08-17 10:26:43 +01:00

49 lines
851 B
Go

// +build js,wasm
package main
import (
"io/ioutil"
"log"
"net/http"
"strings"
"github.com/dennwc/dom"
)
type writer dom.Element
// Write implements io.Writer.
func (d writer) Write(p []byte) (n int, err error) {
node := dom.GetDocument().CreateElement("div")
node.SetTextContent(string(p))
(*dom.Element)(&d).AppendChild(node)
return len(p), nil
}
func main() {
t := dom.GetDocument().GetElementById("target")
logger := log.New((*writer)(t), "", log.LstdFlags)
c := http.Client{}
req, err := http.NewRequest(
"POST",
"https://httpbin.org/anything",
strings.NewReader(`{"test":"test"}`),
)
if err != nil {
logger.Fatal(err)
}
resp, err := c.Do(req)
if err != nil {
logger.Fatal(err)
}
defer resp.Body.Close()
b, err := ioutil.ReadAll(resp.Body)
if err != nil {
logger.Fatal(err)
}
logger.Print(string(b))
}