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 @@ -1088,8 +1088,7 @@ public function isNotModified(Request $request): bool
1088
1088
$ lastModified = $ this ->headers ->get ('Last-Modified ' );
1089
1089
$ modifiedSince = $ request ->headers ->get ('If-Modified-Since ' );
1090
1090
1091
- if ($ ifNoneMatchEtags = $ request ->getETags ()) {
1092
- $ etag = $ this ->getEtag ();
1091
+ if (($ ifNoneMatchEtags = $ request ->getETags ()) && (null !== $ etag = $ this ->getEtag ())) {
1093
1092
if (0 == strncmp ($ etag , 'W/ ' , 2 )) {
1094
1093
$ etag = substr ($ etag , 2 );
1095
1094
}
Original file line number Diff line number Diff line change @@ -287,6 +287,20 @@ public function testIsNotModifiedIfModifiedSinceAndEtagWithoutLastModified()
287
287
$ this ->assertFalse ($ response ->isNotModified ($ request ));
288
288
}
289
289
290
+ public function testIfNoneMatchWithoutETag ()
291
+ {
292
+ $ request = new Request ();
293
+ $ request ->headers ->set ('If-None-Match ' , 'randomly_generated_etag ' );
294
+
295
+ $ this ->assertFalse ((new Response ())->isNotModified ($ request ));
296
+
297
+ // Test wildcard
298
+ $ request = new Request ();
299
+ $ request ->headers ->set ('If-None-Match ' , '* ' );
300
+
301
+ $ this ->assertFalse ((new Response ())->isNotModified ($ request ));
302
+ }
303
+
290
304
public function testIsValidateable ()
291
305
{
292
306
$ response = new Response ('' , 200 , ['Last-Modified ' => $ this ->createDateTimeOneHourAgo ()->format (\DATE_RFC2822 )]);
You can’t perform that action at this time.
0 commit comments