99 "github.com/google/sqlcommenter/go/core"
1010 gosql "github.com/google/sqlcommenter/go/database/sql"
1111 httpnet "github.com/google/sqlcommenter/go/net/http"
12- "github.com/julienschmidt/httprouter "
12+ "github.com/gorilla/mux "
1313 "go.opentelemetry.io/otel/exporters/stdout/stdouttrace"
1414 sdktrace "go.opentelemetry.io/otel/sdk/trace"
1515
@@ -18,8 +18,8 @@ import (
1818 "sqlcommenter-http/todos"
1919)
2020
21- func MakeIndexRoute (db * gosql.DB ) func (w http.ResponseWriter , r * http.Request , _ httprouter. Params ) {
22- return func (w http.ResponseWriter , r * http.Request , _ httprouter. Params ) {
21+ func MakeIndexRoute (db * gosql.DB ) func (w http.ResponseWriter , r * http.Request ) {
22+ return func (w http.ResponseWriter , r * http.Request ) {
2323 exp , _ := stdouttrace .New (stdouttrace .WithPrettyPrint ())
2424 bsp := sdktrace .NewSimpleSpanProcessor (exp ) // You should use batch span processor in prod
2525 tp := sdktrace .NewTracerProvider (
@@ -52,11 +52,11 @@ func MakeIndexRoute(db *gosql.DB) func(w http.ResponseWriter, r *http.Request, _
5252}
5353
5454// middleware is used to intercept incoming HTTP calls and apply general functions upon them.
55- func middleware (next httprouter. Handle ) httprouter. Handle {
56- return func (w http.ResponseWriter , r * http.Request , p httprouter. Params ) {
55+ func middleware (next func (http. ResponseWriter , * http. Request )) func ( w http. ResponseWriter , r * http. Request ) {
56+ return func (w http.ResponseWriter , r * http.Request ) {
5757 ctx := core .ContextInject (r .Context (), httpnet .NewHTTPRequestExtractor (r , next ))
58- log .Printf ("HTTP request sent to %s from %v " , r .URL .Path , next )
59- next (w , r .WithContext (ctx ), p )
58+ log .Printf ("HTTP request sent to %s" , r .URL .Path )
59+ next (w , r .WithContext (ctx ))
6060 }
6161}
6262
@@ -66,17 +66,16 @@ func runApp(todosController *todos.TodosController) {
6666 log .Fatal (err )
6767 }
6868
69- router := httprouter . New ()
69+ r := mux . NewRouter ()
7070
7171 index := MakeIndexRoute (todosController .DB )
72- router .GET ("/" , middleware (index ))
72+ r .HandleFunc ("/" , middleware (index )).Methods ("GET" )
73+ r .HandleFunc ("/todos" , middleware (todosController .ActionList )).Methods ("GET" )
74+ r .HandleFunc ("/todos" , middleware (todosController .ActionInsert )).Methods ("POST" )
75+ r .HandleFunc ("/todos/{id}" , middleware (todosController .ActionUpdate )).Methods ("PUT" )
76+ r .HandleFunc ("/todos/{id}" , middleware (todosController .ActionDelete )).Methods ("DELETE" )
7377
74- router .GET ("/todos" , middleware (todosController .ActionList ))
75- router .POST ("/todos" , middleware (todosController .ActionInsert ))
76- router .PUT ("/todos/:id" , middleware (todosController .ActionUpdate ))
77- router .DELETE ("/todos/:id" , middleware (todosController .ActionDelete ))
78-
79- http .ListenAndServe (":8081" , router )
78+ http .ListenAndServe (":8081" , r )
8079}
8180
8281// host = “host.docker.internal”
0 commit comments