Changes from v9.0.0-alpha.3:
Parameter collation
Each API function's logic for deciding where in the request to put each passed parameter is now as follows:
- if recognized as a
body
param from the spec, put it in the JSON body - if recognized as a
path
param, put it in the URL path - if recognized as a
query
param or a "common" query param (e.g.pretty
,error_trace
), put it in the querystring - if not recognized and this API accepts a JSON body, put it in the JSON body
- if not recognized and this API does not accept a JSON body, put it in the querystring
The first two steps are identical to 8.x and prior 9.0.0 alpha releases. The last three steps replace the logic that put all unrecognized params in the querystring.
Parameter name list management
Each API function now only instantiates its arrays of accepted body/path/query param names once per client instance rather than during every function call, by moving the array values up to the constructor or module level, depending on which is available. Hopefully this introduces a small performance/memory improvement.