11package webapi
22
33import (
4+ "encoding/json"
45 "flag"
5- "fmt"
66 "log"
77 "net/http"
88 "strconv"
@@ -14,6 +14,14 @@ import (
1414var addr = flag .String ("addr" , ":8080" , "http service address" )
1515var upgrader = websocket.Upgrader {}
1616
17+ func jsonFromRegionsAggData (result sqsadaptor.RegionsAggData ) (string , error ) {
18+ data , jsonerr := json .Marshal (result )
19+ if jsonerr != nil {
20+ return "" , jsonerr
21+ }
22+ return string (data ), nil
23+ }
24+
1725func serveResults (w http.ResponseWriter , r * http.Request ) {
1826 if r .URL .Path != "/goad" {
1927 http .Error (w , "Not found" , 404 )
@@ -63,15 +71,20 @@ func serveResults(w http.ResponseWriter, r *http.Request) {
6371
6472 // go startTest(url, concurrency, tot, timeout)
6573
66- sqsadaptor .Aggregate (resultChan )
74+ // sqsadaptor.Aggregate(resultChan)
6775
6876 for {
6977 result , more := <- resultChan
7078 if ! more {
7179 break
7280 }
73- fmt .Println (result ) // stuff the results over the websocket
74- err = c .WriteMessage (websocket .TextMessage , []byte ("{\" hello\" : \" goodbye\" }" ))
81+
82+ message , jsonerr := jsonFromRegionsAggData (result )
83+ if jsonerr != nil {
84+ log .Println (jsonerr )
85+ break
86+ }
87+ err = c .WriteMessage (websocket .TextMessage , []byte (message ))
7588 if err != nil {
7689 log .Println ("write:" , err )
7790 break
0 commit comments