How to run simple http server in Go

Issue #220

Handle url parameter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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

1
2
3
4
5
6
7
8
9
10
11
12
type MyRequest struct {
Message string `json:"message"`
}

decoder := json.NewDecoder(r.Body)
var t EphemeralKeysRequest
err := decoder.Decode(&t)
if err != nil {
panic(err)
}

message := t.Message

Comments