*/
private $mText;
+ /**
+ * @var Config
+ */
+ private $mConfig;
+
/**
* @param string|null $text
+ * @param Config|null $config
*/
- function __construct( $text = null ) {
+ function __construct( $text = null, Config $config = null ) {
$this->mCacheDuration = null;
$this->mVary = null;
+ $this->mConfig = $config ?: ConfigFactory::getDefaultInstance()->makeConfig( 'main' );
$this->mDisabled = false;
$this->mText = '';
* @param string $text
*/
function addText( $text ) {
- if ( ! $this->mDisabled && $text ) {
+ if ( !$this->mDisabled && $text ) {
$this->mText .= $text;
}
}
* Output text
*/
function printText() {
- if ( ! $this->mDisabled ) {
+ if ( !$this->mDisabled ) {
print $this->mText;
}
}
* Construct the header and output it
*/
function sendHeaders() {
- global $wgUseSquid, $wgUseESI;
-
if ( $this->mResponseCode ) {
$n = preg_replace( '/^ *(\d+)/', '\1', $this->mResponseCode );
header( "Status: " . $this->mResponseCode, true, (int)$n );
# and tell the client to always check with the squid. Otherwise,
# tell the client to use a cached copy, without a way to purge it.
- if ( $wgUseSquid ) {
+ if ( $this->mConfig->get( 'UseSquid' ) ) {
# Expect explicit purge of the proxy cache, but require end user agents
# to revalidate against the proxy on each visit.
# Surrogate-Control controls our Squid, Cache-Control downstream caches
- if ( $wgUseESI ) {
+ if ( $this->mConfig->get( 'UseESI' ) ) {
header( 'Surrogate-Control: max-age=' . $this->mCacheDuration . ', content="ESI/1.0"' );
header( 'Cache-Control: s-maxage=0, must-revalidate, max-age=0' );
} else {