Skip to content

Invalid key name error. #383

Closed
Closed
@viktor-skarlatov

Description

@viktor-skarlatov

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions