Description
After calling query.find() I am getting error 105 - Invalid key name.
This happens because the ParseRESTQueryCommand changes its method from GET to POST in the last moment before being sent to the server. As a result the restWhere object on the server is a String instead of Object and the server returns error 105.
The offending code is in ParseRESTCommand :
@OverRide
protected ParseHttpRequest newRequest(
ParseHttpRequest.Method method,
String url,
ProgressCallback uploadProgressCallback) {
ParseHttpRequest request;
if (jsonParameters != null &&
method != ParseHttpRequest.Method.POST &&
method != ParseHttpRequest.Method.PUT) {
// The request URI may be too long to include parameters in the URI.
// To avoid this problem we send the parameters in a POST request json-encoded body
// and add a http method override parameter in newBody.
request = super.newRequest(ParseHttpRequest.Method.POST, url, uploadProgressCallback);
} else {
request = super.newRequest(method, url, uploadProgressCallback);
}
ParseHttpRequest.Builder requestBuilder = new ParseHttpRequest.Builder(request);
addAdditionalHeaders(requestBuilder);
return requestBuilder.build();
}
After I comment out the change to POST everything works fine, however I can't figure out if the request being too long will hurt me at some point.
I am using your parse-server node module and your Android SDK as is, no changes on my part.