How to run simple http server in Go

Issue #220 Handle url parameter package main import ( "net/http" "log" ) func handleGreeting(w http.ResponseWriter, r *http.Request) { messages, ok := r.URL.Query()["message"] if !ok || len(messages[0]) < 1 { log.Println("Message is missing") w.WriteHeader(400) return } message := messages[0] w.Write([]byte(message)) } func main() { http.HandleFunc("/greet", handleGreeting) if err := http.ListenAndServe(":8080", nil); err != nil { panic(err) } } Handle body type MyRequest struct { Message string `json:"message"` } decoder := json.NewDecoder(r.Body) var t EphemeralKeysRequest err := decoder....

April 30, 2019 · 1 min · 86 words · Khoa

How to parse json in Go

Issue #199 Unmarshal using encoding/json property in struct needs to be first letter capitalized import ( "net/http" "encoding/json" "io/ioutil" "fmt" ) type MyJsonObject struct { Id string `json:"id"` Name string `json:"name"` } type MyJsonArray struct { Data []MyJsonObject `json:"data"` } func FetchJson() { url := "https://myapp.com/json" client := http.Client{ Timeout: time.Second * 10 } request, requestError := http.NewRequest(http.MethodGet, url, nil) request.Header.Set("User-Agent", "myapp") response, responseError := client.Do(request) body, readError := ioutil.ReadAll(response.Body) fmt....

April 9, 2019 · 1 min · 146 words · Khoa