in http/get_simple/go/server/server.go [87:121]
func main() {
batches := GetPutData()
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodGet {
w.WriteHeader(http.StatusBadRequest)
return
}
hdrs := w.Header()
//// set this header to disable chunked transfer encoding:
//hdrs.Add("Transfer-Encoding", "identity")
//// set these headers if testing with a local browser-based client:
//hdrs.Add("Access-Control-Allow-Origin", "http://localhost:8008")
//hdrs.Add("Access-Control-Allow-Methods", "GET")
//hdrs.Add("Access-Control-Allow-Headers", "content-type")
hdrs.Add("Content-Type", "application/vnd.apache.arrow.stream")
w.WriteHeader(http.StatusOK)
wr := ipc.NewWriter(w, ipc.WithSchema(batches[0].Schema()))
defer wr.Close()
for _, b := range batches {
if err := wr.Write(b); err != nil {
panic(err)
}
}
})
fmt.Println("Serving on localhost:8008...")
log.Fatal(http.ListenAndServe(":8008", nil))
}