Selaa lähdekoodia

Add additional log handlers

ayn2op 3 vuotta sitten
vanhempi
sitoutus
d7a590108b
1 muutettua tiedostoa jossa 18 lisäystä ja 1 poistoa
  1. 18 1
      state.go

+ 18 - 1
state.go

@@ -9,11 +9,12 @@ import (
 	"github.com/diamondburned/arikawa/v3/api"
 	"github.com/diamondburned/arikawa/v3/gateway"
 	"github.com/diamondburned/arikawa/v3/state"
+	"github.com/diamondburned/arikawa/v3/utils/httputil/httpdriver"
 	"github.com/rivo/tview"
 )
 
 func init() {
-	api.UserAgent = fmt.Sprintf("%s/%s %s/%s", config.Name, "0.1", "arikawa", "v3")
+	api.UserAgent = fmt.Sprintf("%s/0.1 (https://github.com/diamondburned/arikawa, v3)", config.Name)
 	gateway.DefaultIdentity = gateway.IdentifyProperties{
 		OS:      runtime.GOOS,
 		Browser: config.Name,
@@ -33,9 +34,25 @@ func newState(token string) *State {
 	s.AddHandler(s.onReady)
 	s.AddHandler(s.onMessageCreate)
 
+	s.StateLog = s.onLog
+	s.OnRequest = append(s.Client.OnRequest, s.onRequest)
+
 	return s
 }
 
+func (s *State) onLog(err error) {
+	log.Printf("%s\n", err)
+}
+
+func (s *State) onRequest(r httpdriver.Request) error {
+	req, ok := r.(*httpdriver.DefaultRequest)
+	if ok {
+		log.Printf("method = %s; url = %s\n", req.Method, req.URL)
+	}
+
+	return nil
+}
+
 func (s *State) onReady(r *gateway.ReadyEvent) {
 	dmNode := tview.NewTreeNode("Direct Messages")
 	guildsTree.root.AddChild(dmNode)