searchbox-io/Jest — pull request #126 by srapp (2014-06-10 15:15:23+00:00)
Title: SearchScroll now uses POSTs when ScrollID exceeds 1900 characters

I stumbled upon this when trying to scroll through all of the indices of a large data set. If the scrollId of a SearchScroll is sufficiently long enough such that the generated URI for the GET request is longer than 2000 characters, the ElasticSearch servers refuse to process the request, causing an error. This change inspects the length of the provided scrollId, and if it is excessively long (over 1900 characters), the Action acts as a POST instead of a GET, providing the scrollId in the body of the request.

It would've been simpler to make every SearchScroll a POST by default, but I figured that most users would not encounter this bug, and a GET request does offer a bit more ease when it comes to debugging request logs and such.