func TestShockHandler(w http.ResponseWriter, r *http.Request) { // Retrieve path and query parameters for experiment resource vars := mux.Vars(r) url := vars["url"] status := 500 // initialize r.Form for query parameters r.ParseForm() var err error var collection ShockClient.Collection client := new(ShockClient.Client) if url != "" { client.URL = url fmt.Println("GET url") collection, status, err = client.Get("http://" + url) collection.Status = status if err != nil { //client.SendError(w, getERR, 500 collection.Error = err.Error() } } jb, jsonERR := collection.ToJson() // Send json if jsonERR != nil { println(jb) w.Write([]byte(jsonERR.Error())) http.Error(w, jsonERR.Error(), 500) } else { //fmt.Printf("%s\n", jb) //fmt.Printf("%+v\n", err) w.Header().Set("Content-Type", "application/json") w.Write([]byte(jb)) } }
// Shock struct func ShockHandler(w http.ResponseWriter, r *http.Request) { c := new(ShockClient.Collection) jb, err := c.ToJson() // Send json if err != nil { println(jb) w.Write([]byte(err.Error())) http.Error(w, err.Error(), 500) } else { fmt.Printf("%s\n", jb) fmt.Printf("%+v\n", err) w.Header().Set("Content-Type", "application/json") w.Write([]byte(jb)) } }