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
// ... 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 );