Skip to content

Commit 7457d92

Browse files
committed
beacon/light/api: fixed blsync update query
1 parent ec69830 commit 7457d92

File tree

1 file changed

+6
-24
lines changed

1 file changed

+6
-24
lines changed

beacon/light/api/light_api.go

+6-24
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
"fmt"
2424
"io"
2525
"net/http"
26-
"net/url"
2726
"sync"
2827
"time"
2928

@@ -112,6 +111,9 @@ type BeaconLightApi struct {
112111
}
113112

114113
func NewBeaconLightApi(url string, customHeaders map[string]string) *BeaconLightApi {
114+
if len(url) > 0 && url[len(url)-1] == '/' {
115+
url = url[:len(url)-1]
116+
}
115117
return &BeaconLightApi{
116118
url: url,
117119
client: &http.Client{
@@ -122,11 +124,7 @@ func NewBeaconLightApi(url string, customHeaders map[string]string) *BeaconLight
122124
}
123125

124126
func (api *BeaconLightApi) httpGet(path string) ([]byte, error) {
125-
uri, err := api.buildURL(path, nil)
126-
if err != nil {
127-
return nil, err
128-
}
129-
req, err := http.NewRequest("GET", uri, nil)
127+
req, err := http.NewRequest("GET", api.url+path, nil)
130128
if err != nil {
131129
return nil, err
132130
}
@@ -551,12 +549,8 @@ func (api *BeaconLightApi) StartHeadListener(listener HeadEventListener) func()
551549
func (api *BeaconLightApi) startEventStream(ctx context.Context, listener *HeadEventListener) *eventsource.Stream {
552550
for retry := true; retry; retry = ctxSleep(ctx, 5*time.Second) {
553551
log.Trace("Sending event subscription request")
554-
uri, err := api.buildURL("/eth/v1/events", map[string][]string{"topics": {"head", "light_client_finality_update", "light_client_optimistic_update"}})
555-
if err != nil {
556-
listener.OnError(fmt.Errorf("error creating event subscription URL: %v", err))
557-
continue
558-
}
559-
req, err := http.NewRequestWithContext(ctx, "GET", uri, nil)
552+
path := "/eth/v1/events?topics=head&topics=light_client_finality_update&topics=light_client_optimistic_update"
553+
req, err := http.NewRequestWithContext(ctx, "GET", api.url+path, nil)
560554
if err != nil {
561555
listener.OnError(fmt.Errorf("error creating event subscription request: %v", err))
562556
continue
@@ -585,15 +579,3 @@ func ctxSleep(ctx context.Context, timeout time.Duration) (ok bool) {
585579
return false
586580
}
587581
}
588-
589-
func (api *BeaconLightApi) buildURL(path string, params url.Values) (string, error) {
590-
uri, err := url.Parse(api.url)
591-
if err != nil {
592-
return "", err
593-
}
594-
uri = uri.JoinPath(path)
595-
if params != nil {
596-
uri.RawQuery = params.Encode()
597-
}
598-
return uri.String(), nil
599-
}

0 commit comments

Comments
 (0)