Commit 566bb047 authored by Bas de Nooijer's avatar Bas de Nooijer

Added remote file streaming support to extract request handler

parent 594c113c
......@@ -101,9 +101,16 @@ class RequestBuilder extends BaseRequestBuilder
}
// add file to request
$request->setFileUpload($query->getFile());
$file = $query->getFile();
if (preg_match('/^(http|https):\/\/(.+)/i', $file)) {
$request->addParam('stream.url', $file);
} else if (is_readable($file)) {
$request->setFileUpload($file);
$request->addParam('resource.name', basename($query->getFile()));
$request->addHeader('Content-Type: multipart/form-data');
} else {
throw new RuntimeException('Extract query file path/url invalid or not available');
}
return $request;
}
......
......@@ -84,6 +84,18 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase
);
}
public function testGetUriWithStreamUrl()
{
$query = $this->query;
$query->setFile('http://solarium-project.org/');
$request = $this->builder->build($query);
$this->assertEquals(
'update/extract?omitHeader=true&param1=value1&wt=json&json.nl=flat&fmap.from-field=to-field'.
'&stream.url=http%3A%2F%2Fsolarium-project.org%2F',
$request->getUri()
);
}
public function testDocumentFieldAndBoostParams()
{
$fields = array('field1' => 'value1', 'field2' => 'value2');
......
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