I am trying to write a go server that receives a stream of data from an http request. The problem is that it times out once it receives {status: connected}
How do I keep the connection alive?
func stream() {
t := time.Now()
a := t.Format("15:03")
if a > string("08:30") && a < string("15:00") {
color.Red("Streaming. . .")
config := oauth1.NewConfig("HIDDEN", "HIDDEN")
token := oauth1.NewToken("HIDDEN", "HIDDEN")
httpClient := config.Client(oauth1.NoContext, token)
path := "https://stream.tradeking.com/v1/market/quotes.json?symbols=aapl"
resp, _ := httpClient.Get(path)
fmt.Println(resp)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Printf("Raw Response Body:
%v
", string(body))
defer resp.Body.Close()
} else {
color.Red("%s
Markets are closed! Please, come back later.", t)
}
}
I call this function in main. I also receive what looks like the header:
&{200 OK 200 HTTP/1.1 1 1 map[Date:[Mon, 16 Jan 2017 17:45:36 GMT] X-Powered-By:[Express] Server:[cloudflare-ngi
nx] Content-Type:[application/json] Connection:[keep-alive] Set-Cookie:[__cfduid=dcfcf86c79c56e659ce2b1bade3643c
981484588736; expires=Tue, 16-Jan-18 17:45:36 GMT; path=/; domain=.tradeking.com; HttpOnly] Vary:[Accept-Encodin
g] Cf-Ray:[322361d0efd40938-DFW]] 0xc42032e0c0 -1 [chunked] false true map[] 0xc4200d21e0 0xc42040cbb0}