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 ...@@ -101,9 +101,16 @@ class RequestBuilder extends BaseRequestBuilder
} }
// add file to request // add file to request
$request->setFileUpload($query->getFile()); $file = $query->getFile();
$request->addParam('resource.name', basename($query->getFile())); if (preg_match('/^(http|https):\/\/(.+)/i', $file)) {
$request->addHeader('Content-Type: multipart/form-data'); $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; return $request;
} }
......
...@@ -84,6 +84,18 @@ class RequestBuilderTest extends \PHPUnit_Framework_TestCase ...@@ -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() public function testDocumentFieldAndBoostParams()
{ {
$fields = array('field1' => 'value1', 'field2' => 'value2'); $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