mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-25 06:16:40 +00:00
scroll REST API should support source parameter
As stated in documentation, we should support `?source=` parameter in `/_search/scroll` REST operations. This is how to reproduce it: ```sh curl -XDELETE "http://localhost:9200/test" curl -XPOST "http://localhost:9200/test/type/1" -d' { "foo": "bar" }' # This one works curl -XPOST "http://localhost:9200/_search/scroll" -d "FAKESCROLLID" # This one gives: {"error":"Failed to derive xcontent from org.elasticsearch.common.bytes.BytesArray@0"} curl -XGET "http://localhost:9200/_search/scroll/?source=FAKESCROLLID" ``` Closes #4941.
This commit is contained in:
parent
c900ec2152
commit
0541456b34
@ -28,6 +28,7 @@ import org.elasticsearch.common.inject.Inject;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.rest.*;
|
||||
import org.elasticsearch.rest.action.support.RestActions;
|
||||
import org.elasticsearch.search.Scroll;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -56,8 +57,8 @@ public class RestSearchScrollAction extends BaseRestHandler {
|
||||
@Override
|
||||
public void handleRequest(final RestRequest request, final RestChannel channel) {
|
||||
String scrollId = request.param("scroll_id");
|
||||
if (scrollId == null && request.hasContent()) {
|
||||
scrollId = request.content().toUtf8();
|
||||
if (scrollId == null) {
|
||||
scrollId = RestActions.getRestContent(request).toUtf8();
|
||||
}
|
||||
SearchScrollRequest searchScrollRequest = new SearchScrollRequest(scrollId);
|
||||
searchScrollRequest.listenerThreaded(false);
|
||||
|
Loading…
x
Reference in New Issue
Block a user