good morning!!!!

Skip to content
Snippets Groups Projects
Commit fe06ab00 authored by a's avatar a
Browse files

add logging middleware

parent 70f7bfd3
No related branches found
No related tags found
No related merge requests found
...@@ -6,13 +6,13 @@ import ( ...@@ -6,13 +6,13 @@ import (
"net/http" "net/http"
"gfx.cafe/open/jrpc" "gfx.cafe/open/jrpc"
"gfx.cafe/open/jrpc/middleware"
) )
func main() { func main() {
r := jrpc.NewRouter() r := jrpc.NewRouter()
srv := jrpc.NewServer(r) r.Use(middleware.Logger)
c, err := jrpc.Dial("wss://mainnet.rpc.gfx.xyz") c, err := jrpc.Dial("wss://mainnet.rpc.gfx.xyz")
if err != nil { if err != nil {
panic(err) panic(err)
...@@ -25,7 +25,9 @@ func main() { ...@@ -25,7 +25,9 @@ func main() {
}) })
log.Println("running on 8855") log.Println("running on 8855")
srv := jrpc.NewServer(r)
log.Println(http.ListenAndServe(":8855", srv)) log.Println(http.ListenAndServe(":8855", srv))
} }
// http://localhost:8855/?method=echo&params=[1,2,3] // http://localhost:8855/?method=eth_blockNumber
package middleware
// Ported from Goji's middleware, source:
// jrpcs://github.com/zenazn/goji/tree/master/web/middleware
import (
"time"
"gfx.cafe/open/jrpc"
"git.tuxpa.in/a/zlog/log"
)
func Logger(next jrpc.Handler) jrpc.Handler {
fn := func(w jrpc.ResponseWriter, r *jrpc.Request) {
start := time.Now()
next.ServeRPC(w, r)
log.Trace().Dur("dur", time.Now().Sub(start)).Str("method", r.Method()).Str("params", string(r.Msg().Params)).Msg("RPC Request")
}
return jrpc.HandlerFunc(fn)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment