mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
beacon/light/api: log server errors
This commit is contained in:
parent
767122a1f7
commit
29dff1d611
1 changed files with 16 additions and 19 deletions
|
|
@ -64,33 +64,30 @@ func (s *ApiServer) Subscribe(eventCallback func(event request.Event)) {
|
||||||
func (s *ApiServer) SendRequest(id request.ID, req request.Request) {
|
func (s *ApiServer) SendRequest(id request.ID, req request.Request) {
|
||||||
go func() {
|
go func() {
|
||||||
var resp request.Response
|
var resp request.Response
|
||||||
|
var err error
|
||||||
switch data := req.(type) {
|
switch data := req.(type) {
|
||||||
case sync.ReqUpdates:
|
case sync.ReqUpdates:
|
||||||
log.Debug("Requesting light client update", "period", data.FirstPeriod, "count", data.Count)
|
log.Debug("Requesting light client update", "reqid", id, "period", data.FirstPeriod, "count", data.Count)
|
||||||
if updates, committees, err := s.api.GetBestUpdatesAndCommittees(data.FirstPeriod, data.Count); err == nil {
|
var r sync.RespUpdates
|
||||||
resp = sync.RespUpdates{Updates: updates, Committees: committees}
|
r.Updates, r.Committees, err = s.api.GetBestUpdatesAndCommittees(data.FirstPeriod, data.Count)
|
||||||
}
|
resp = r
|
||||||
case sync.ReqHeader:
|
case sync.ReqHeader:
|
||||||
log.Debug("Requesting beacon header", "hash", common.Hash(data))
|
log.Debug("Requesting beacon header", "reqid", id, "hash", common.Hash(data))
|
||||||
if header, err := s.api.GetHeader(common.Hash(data)); err == nil {
|
resp, err = s.api.GetHeader(common.Hash(data))
|
||||||
resp = header
|
|
||||||
}
|
|
||||||
case sync.ReqCheckpointData:
|
case sync.ReqCheckpointData:
|
||||||
log.Debug("Requesting beacon checkpoint data", "hash", common.Hash(data))
|
log.Debug("Requesting beacon checkpoint data", "reqid", id, "hash", common.Hash(data))
|
||||||
if bootstrap, err := s.api.GetCheckpointData(common.Hash(data)); err == nil {
|
resp, err = s.api.GetCheckpointData(common.Hash(data))
|
||||||
resp = bootstrap
|
|
||||||
}
|
|
||||||
case sync.ReqBeaconBlock:
|
case sync.ReqBeaconBlock:
|
||||||
log.Debug("Requesting beacon block", "hash", common.Hash(data))
|
log.Debug("Requesting beacon block", "reqid", id, "hash", common.Hash(data))
|
||||||
if block, err := s.api.GetBeaconBlock(common.Hash(data)); err == nil {
|
resp, err = s.api.GetBeaconBlock(common.Hash(data))
|
||||||
resp = block
|
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
if resp != nil {
|
|
||||||
s.eventCallback(request.Event{Type: request.EvResponse, Data: request.RequestResponse{ID: id, Request: req, Response: resp}})
|
if err != nil {
|
||||||
} else {
|
log.Warn("Beacon API request failed", "id", id, "err", err)
|
||||||
s.eventCallback(request.Event{Type: request.EvFail, Data: request.RequestResponse{ID: id, Request: req}})
|
s.eventCallback(request.Event{Type: request.EvFail, Data: request.RequestResponse{ID: id, Request: req}})
|
||||||
|
} else {
|
||||||
|
s.eventCallback(request.Event{Type: request.EvResponse, Data: request.RequestResponse{ID: id, Request: req, Response: resp}})
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue