Skip to content

Commit 291fd16

Browse files
committed
Handlers seperated
1 parent 88a94ce commit 291fd16

File tree

2 files changed

+37
-12
lines changed

2 files changed

+37
-12
lines changed

handlers/hello.go

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package handlers
2+
3+
import (
4+
"fmt"
5+
"io/ioutil"
6+
"log"
7+
"net/http"
8+
)
9+
10+
// Hello handler
11+
type Hello struct {
12+
l *log.Logger
13+
}
14+
15+
// NewHello Function which gives reference to Hello handler
16+
func NewHello(l *log.Logger) *Hello {
17+
return &Hello{l}
18+
}
19+
20+
func (h *Hello) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
21+
h.l.Println("Hello world")
22+
d, err := ioutil.ReadAll(r.Body)
23+
24+
if err != nil {
25+
http.Error(rw, "Oops", http.StatusBadRequest)
26+
return
27+
}
28+
fmt.Fprintf(rw, "Hello %s", d)
29+
}

main.go

+8-12
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,19 @@
11
package main
22

33
import (
4-
"fmt"
5-
"io/ioutil"
64
"log"
75
"net/http"
6+
"os"
7+
8+
"github.com/nandangrover/go-microservices/handlers"
89
)
910

1011
func main() {
11-
http.HandleFunc("/", func(rw http.ResponseWriter, r *http.Request) {
12-
log.Println("Hello world")
13-
d, err := ioutil.ReadAll(r.Body)
12+
l := log.New(os.Stdout, "product-api", log.LstdFlags)
13+
hh := handlers.NewHello(l)
1414

15-
if err != nil {
16-
http.Error(rw, "Oops", http.StatusBadRequest)
17-
return
18-
}
19-
fmt.Fprintf(rw, "Hello %s", d)
20-
})
15+
sm := http.NewServeMux()
16+
sm.Handle("/", hh)
2117

22-
http.ListenAndServe(":8080", nil)
18+
http.ListenAndServe(":9090", sm)
2319
}

0 commit comments

Comments
 (0)