People sometimes link these from high traffic places, so it is
important to cache in varnish.
File's with height can change so only cache that for 10 seconds.
Also change from 302 to 301.
Change-Id: I87a60c812cd1aa78a36359090c0cb8390be7183f
(cherry picked from commit
f661f3373eb500949b7e421b0df5a955d2904809)
// ... and we can
if ( $mto && !$mto->isError() ) {
// ... change the URL to point to a thumbnail.
// ... and we can
if ( $mto && !$mto->isError() ) {
// ... change the URL to point to a thumbnail.
+ // Note: This url is more temporary as can change
+ // if file is reuploaded and has different aspect ratio.
+ $url = [ $mto->getUrl(), $height === -1 ? 301 : 302 ];
break;
}
if ( $status && $status->isGood() ) {
break;
}
if ( $status && $status->isGood() ) {
- $this->getOutput()->redirect( $status->getValue() );
+ // These urls can sometimes be linked from prominent places,
+ // so varnish cache.
+ $value = $status->getValue();
+ if ( is_array( $value ) ) {
+ list( $url, $code ) = $value;
+ } else {
+ $url = $value;
+ $code = 301;
+ }
+ if ( $code === 301 ) {
+ $this->getOutput()->setCdnMaxage( 60 * 60 );
+ } else {
+ $this->getOutput()->setCdnMaxage( 10 );
+ }
+ $this->getOutput()->redirect( $url, $code );