Skip to content

Commit 79f5cf9

Browse files
authored
feat(enhancement): add response header argument in EventOpenFunc #1060 (#1073)
1 parent ed398ef commit 79f5cf9

2 files changed

Lines changed: 8 additions & 8 deletions

File tree

sse.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ type (
4141
// EventOpenFunc is a callback function type used to receive notification
4242
// when Resty establishes a connection with the server for the
4343
// Server-Sent Events(SSE)
44-
EventOpenFunc func(url string)
44+
EventOpenFunc func(url string, respHdr http.Header)
4545

4646
// EventMessageFunc is a callback function type used to receive event details
4747
// from the Server-Sent Events(SSE) stream
@@ -453,7 +453,7 @@ func (es *EventSource) Get() error {
453453
if err != nil {
454454
return err
455455
}
456-
es.triggerOnOpen()
456+
es.triggerOnOpen(res.Header.Clone())
457457
if err := es.listenStream(res); err != nil {
458458
return err
459459
}
@@ -479,11 +479,11 @@ func (es *EventSource) isClosed() bool {
479479
return es.closed
480480
}
481481

482-
func (es *EventSource) triggerOnOpen() {
482+
func (es *EventSource) triggerOnOpen(hdr http.Header) {
483483
es.lock.RLock()
484484
defer es.lock.RUnlock()
485485
if es.onOpen != nil {
486-
es.onOpen(strings.Clone(es.url))
486+
es.onOpen(strings.Clone(es.url), hdr)
487487
}
488488
}
489489

sse_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,8 @@ func TestEventSourceOverwriteFuncs(t *testing.T) {
167167

168168
es.SetURL(ts.URL).
169169
OnMessage(messageFunc2, nil).
170-
OnOpen(func(url string) {
171-
t.Log("from overwrite func", url)
170+
OnOpen(func(url string, respHdr http.Header) {
171+
t.Log("from overwrite func", url, respHdr)
172172
}).
173173
OnError(func(err error) {
174174
t.Log("from overwrite func", err)
@@ -422,8 +422,8 @@ func createEventSource(t *testing.T, url string, fn EventMessageFunc, rt any) *E
422422
SetRetryMaxWaitTime(1000 * time.Millisecond).
423423
SetMaxBufSize(1 << 14). // 16kb
424424
SetLogger(createLogger()).
425-
OnOpen(func(url string) {
426-
t.Log("I'm connected:", url)
425+
OnOpen(func(url string, respHdr http.Header) {
426+
t.Log("I'm connected:", url, respHdr)
427427
}).
428428
OnError(func(err error) {
429429
t.Log("Error occurred:", err)

0 commit comments

Comments
 (0)