HomePhabricator

Raise warning when accidentally submitting Conduit parameters as a JSON-encoded…

Description

Raise warning when accidentally submitting Conduit parameters as a JSON-encoded body

Summary: See T12447 for discussion. It is reasonably intuitive to try and pass Conduit parameters via a JSON-encoded HTTP body, but if you do so, you'll get an unhelpful messsage about how method so-and-so does not accept a parameter named "your_entire_json_body". Instead, detect this mistake and advise developers to use form-encoded parameters.

Test Plan:
Got a better error when attempting to make Conduit calls from React code. Tested the following additional invocations of Conduit and got the expected results without an error:

  • From the Conduit UI
  • With cURL:
~ $ curl http://local.phacility.com:8080/api/conpherence.querythread \
>     -d api.token=api-tvv2zb565zrtueab5ddprmpxvrwb \
>     -d ids[0]=1
  • With arc call-conduit:
~ $ echo '{
>   "ids": [
>     1
>   ]
> }' | arc call-conduit --conduit-uri http://local.phacility.com:8080/ --conduit-token api-tvv2zb565zrtueab5ddprmpxvrwb conpherence.querythread

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D19944

Details

Provenance
amckinleyAuthored on Jan 3 2019, 1:21 AM
amckinleyPushed on Jan 3 2019, 1:31 AM
Reviewer
epriestley
Differential Revision
D19944: Raise warning when accidentally submitting Conduit parameters as a JSON-encoded body
Parents
rPea8be11addd7: Fix a qsprintf() issue in mail queries
Branches
Unknown
Tags
Unknown
Build Status
Buildable 21464
Build 29233: Run Core Tests