File tree Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -1064,8 +1064,7 @@ public function isNotModified(Request $request): bool
1064
1064
$ lastModified = $ this ->headers ->get ('Last-Modified ' );
1065
1065
$ modifiedSince = $ request ->headers ->get ('If-Modified-Since ' );
1066
1066
1067
- if ($ ifNoneMatchEtags = $ request ->getETags ()) {
1068
- $ etag = $ this ->getEtag ();
1067
+ if (($ ifNoneMatchEtags = $ request ->getETags ()) && (null !== $ etag = $ this ->getEtag ())) {
1069
1068
if (0 == strncmp ($ etag , 'W/ ' , 2 )) {
1070
1069
$ etag = substr ($ etag , 2 );
1071
1070
}
Original file line number Diff line number Diff line change @@ -275,6 +275,20 @@ public function testIsNotModifiedIfModifiedSinceAndEtagWithoutLastModified()
275
275
$ this ->assertFalse ($ response ->isNotModified ($ request ));
276
276
}
277
277
278
+ public function testIfNoneMatchWithoutETag ()
279
+ {
280
+ $ request = new Request ();
281
+ $ request ->headers ->set ('If-None-Match ' , 'randomly_generated_etag ' );
282
+
283
+ $ this ->assertFalse ((new Response ())->isNotModified ($ request ));
284
+
285
+ // Test wildcard
286
+ $ request = new Request ();
287
+ $ request ->headers ->set ('If-None-Match ' , '* ' );
288
+
289
+ $ this ->assertFalse ((new Response ())->isNotModified ($ request ));
290
+ }
291
+
278
292
public function testIsValidateable ()
279
293
{
280
294
$ response = new Response ('' , 200 , ['Last-Modified ' => $ this ->createDateTimeOneHourAgo ()->format (\DATE_RFC2822 )]);
You can’t perform that action at this time.
0 commit comments