Commit bffa374a authored by Bas de Nooijer's avatar Bas de Nooijer

Added Solr param 'omitHeader' with a default value of 'true'. This saves a...

Added Solr param 'omitHeader' with a default value of 'true'. This saves a little traffic and parsing. Also added method to switch back on.
parent f275881c
......@@ -109,6 +109,27 @@ abstract class Query extends Configurable implements QueryInterface
return $this->getOption('resultclass');
}
/**
* Set omitHeader option
*
* @param boolean $value
* @return self Provides fluent interface
*/
public function setOmitHeader($value)
{
return $this->setOption('omitheader', $value);
}
/**
* Get omitHeader option
*
* @return boolean
*/
public function getOmitHeader()
{
return $this->getOption('omitheader');
}
/**
* Get a helper instance
*
......
......@@ -57,6 +57,7 @@ abstract class RequestBuilder implements RequestBuilderInterface
{
$request = new Request;
$request->setHandler($query->getHandler());
$request->addParam('omitHeader', $query->getOmitHeader());
$request->addParams($query->getParams());
$request->addParam('wt', 'json');
......
......@@ -62,6 +62,7 @@ class Document extends Query
protected $options = array(
'handler' => 'analysis/document',
'resultclass' => 'Solarium\QueryType\Analysis\Result\Document',
'omitheader' => true,
);
/**
......
......@@ -55,6 +55,7 @@ class Field extends Query
protected $options = array(
'handler' => 'analysis/field',
'resultclass' => 'Solarium\QueryType\Analysis\Result\Field',
'omitheader' => true,
);
/**
......
......@@ -70,7 +70,8 @@ class Query extends SelectQuery
'fields' => '*,score',
'interestingTerms' => 'none',
'matchinclude' => false,
'stream' => false
'stream' => false,
'omitheader' => true,
);
/**
......
......@@ -51,6 +51,17 @@ use Solarium\QueryType\Ping\RequestBuilder as RequestBuilder;
class Query extends BaseQuery
{
/**
* Default options
*
* @var array
*/
protected $options = array(
'resultclass' => 'Solarium\QueryType\Ping\Result',
'handler' => 'admin/ping',
'omitheader' => true,
);
/**
* Get type for this query
*
......@@ -81,14 +92,4 @@ class Query extends BaseQuery
return null;
}
/**
* Default options
*
* @var array
*/
protected $options = array(
'resultclass' => 'Solarium\QueryType\Ping\Result',
'handler' => 'admin/ping',
);
}
......@@ -136,6 +136,7 @@ class Query extends BaseQuery
'start' => 0,
'rows' => 10,
'fields' => '*,score',
'omitheader' => true,
);
/**
......
......@@ -59,6 +59,7 @@ class Query extends BaseQuery
'handler' => 'suggest',
'resultclass' => 'Solarium\QueryType\Suggester\Result\Result',
'termclass' => 'Solarium\QueryType\Suggester\Result\Term',
'omitheader' => true,
);
/**
......
......@@ -60,7 +60,8 @@ class Query extends BaseQuery
*/
protected $options = array(
'resultclass' => 'Solarium\QueryType\Terms\Result',
'handler' => 'terms',
'handler' => 'terms',
'omitheader' => true,
);
/**
......
......@@ -100,6 +100,7 @@ class Query extends BaseQuery
'handler' => 'update',
'resultclass' => 'Solarium\QueryType\Update\Result',
'documentclass' => 'Solarium\QueryType\Update\Query\Document',
'omitheader' => true,
);
/**
......
......@@ -53,7 +53,21 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
$request = $this->builder->build($query);
$this->assertEquals(
'select?p1=v1&p2=v2&wt=json',
'select?omitHeader=true&p1=v1&p2=v2&wt=json',
urldecode($request->getUri())
);
}
public function testBuildWithHeader()
{
$query = new SelectQuery;
$query->addParam('p1','v1');
$query->addParam('p2','v2');
$query->setOmitHeader(false);
$request = $this->builder->build($query);
$this->assertEquals(
'select?omitHeader=false&p1=v1&p2=v2&wt=json',
urldecode($request->getUri())
);
}
......
......@@ -68,6 +68,7 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
'wt' => 'json',
'analysis.query' => $query,
'analysis.showmatch' => 'true',
'omitHeader' => 'true',
),
$request->getParams()
);
......
......@@ -88,7 +88,8 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
'fl' => '*,score',
'rows' => 10,
'start' => 12,
'wt' => 'json'
'wt' => 'json',
'omitHeader' => 'true',
),
$request->getParams()
);
......
......@@ -43,7 +43,7 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
$request = $builder->build(new Query);
$this->assertEquals(
'admin/ping?wt=json',
'admin/ping?omitHeader=true&wt=json',
$request->getUri()
);
......
......@@ -74,7 +74,7 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
);
$this->assertEquals(
'select?wt=json&q=*:*&start=0&rows=10&fl=*,score',
'select?omitHeader=true&wt=json&q=*:*&start=0&rows=10&fl=*,score',
urldecode($request->getUri())
);
}
......@@ -91,7 +91,7 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
);
$this->assertEquals(
'select?wt=json&q=*:*&start=0&rows=10&fl=*,score&sort=id asc,name desc',
'select?omitHeader=true&wt=json&q=*:*&start=0&rows=10&fl=*,score&sort=id asc,name desc',
urldecode($request->getUri())
);
}
......@@ -108,7 +108,7 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
);
$this->assertEquals(
'select?wt=json&q=*:*&start=0&rows=10&fl=*,score&q.op=AND&df=mydefault',
'select?omitHeader=true&wt=json&q=*:*&start=0&rows=10&fl=*,score&q.op=AND&df=mydefault',
urldecode($request->getUri())
);
}
......@@ -127,7 +127,7 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
);
$this->assertEquals(
'select?wt=json&q=*:*&start=0&rows=10&fl=*,score&sort=id asc,name desc&fq=published:true&fq={!tag=t1,t2}category:23',
'select?omitHeader=true&wt=json&q=*:*&start=0&rows=10&fl=*,score&sort=id asc,name desc&fq=published:true&fq={!tag=t1,t2}category:23',
urldecode($request->getUri())
);
}
......
......@@ -72,6 +72,7 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
'spellcheck.onlyMorePopular' => 'true',
'spellcheck.collate' => 'true',
'wt' => 'json',
'omitHeader' => 'true',
),
$request->getParams()
);
......
......@@ -94,6 +94,7 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
'terms.upper' => 'x',
'terms.upper.incl' => 'false',
'wt' => 'json',
'omitHeader' => 'true',
),
$request->getParams()
);
......
......@@ -72,7 +72,7 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
{
$request = $this->builder->build($this->query);
$this->assertEquals(
'update?wt=json',
'update?omitHeader=true&wt=json',
$request->getUri()
);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment