コード例 #1
0
ファイル: myServer.go プロジェクト: wilke/RESTframe
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))

	}

}
コード例 #2
0
ファイル: myServer.go プロジェクト: wilke/RESTframe
// 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))

	}

}