File tree Expand file tree Collapse file tree 2 files changed +25
-2
lines changed
Lib.AspNetCore.ServerSentEvents
Test.AspNetCore.ServerSentEvents/Unit/Middleware Expand file tree Collapse file tree 2 files changed +25
-2
lines changed Original file line number Diff line number Diff line change @@ -125,8 +125,8 @@ private bool CheckAcceptHeader(IHeaderDictionary requestHeaders)
125125 {
126126 return ! _serverSentEventsOptions . RequireAcceptHeader ;
127127 }
128-
129- if ( requestHeaders [ Constants . ACCEPT_HTTP_HEADER ] . Any ( acceptHeaderValue => acceptHeaderValue == Constants . SSE_CONTENT_TYPE ) )
128+
129+ if ( requestHeaders . GetCommaSeparatedValues ( Constants . ACCEPT_HTTP_HEADER ) . Any ( acceptHeaderValue => acceptHeaderValue == Constants . SSE_CONTENT_TYPE ) )
130130 {
131131 return true ;
132132 }
Original file line number Diff line number Diff line change @@ -72,6 +72,29 @@ public async Task Invoke_SseRequest_CallsOnPrepareAccept()
7272
7373 onPrepareAcceptMock . Verify ( m => m ( It . IsAny < HttpResponse > ( ) ) , Times . Once ) ;
7474 }
75+
76+ [ Fact ]
77+ public async Task Invoke_SseRequestWithMultipleAcceptHeadersWithEventStreamAcceptHeader_Accepts ( )
78+ {
79+ ServerSentEventsMiddleware < ServerSentEventsService > serverSentEventsMiddleware = SubjectUnderTestHelper . PrepareServerSentEventsMiddleware ( ) ;
80+ HttpContext context = SubjectUnderTestHelper . PrepareHttpContext ( acceptHeaderValue : SSE_CONTENT_TYPE + ",text/html" ) ;
81+
82+ await serverSentEventsMiddleware . Invoke ( context , null ) ;
83+
84+ Assert . Equal ( SSE_CONTENT_TYPE , context . Response . ContentType ) ;
85+ }
86+
87+ [ Fact ]
88+ public async Task Invoke_SseRequestWithMultipleAcceptHeadersWithNotEventStreamAcceptHeader_DoesNotAccept ( )
89+ {
90+ ServerSentEventsMiddleware < ServerSentEventsService > serverSentEventsMiddleware = SubjectUnderTestHelper . PrepareServerSentEventsMiddleware ( ) ;
91+ HttpContext context = SubjectUnderTestHelper . PrepareHttpContext ( acceptHeaderValue : "text/plain,text/html" ) ;
92+
93+ await serverSentEventsMiddleware . Invoke ( context , null ) ;
94+
95+ Assert . Null ( context . Response . ContentType ) ;
96+ }
97+
7598 #endregion
7699 }
77100}
You can’t perform that action at this time.
0 commit comments