mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
response: Implement ignored parameters with MutableJsonResponse class.
Creates `MutableJsonResponse` as a subclass of Django's `HttpResponse` that we can modify for ignored parameters in the response content. Updates responses to include `ignored_parameters_unsupported` in the response data through `has_request_variables`. Creates unit test for this implementation in `test_decorators.py`. The `method` parameter processed in `rest_dispatch` is not in the `REQ` framework, so for any tests that pass that parameter, assert for the ignored parameter with a comment. Updates OpenAPI documentation for `ignored_parameters_unsupported` being returned in the JSON success response for all endpoints. Adds detailed documentation in the error handling article, and links to that page in relevant locations throughout the API docs. For the majority of endpoints, the documentation does not include the array in any examples of return values, and instead links to the error handling page. The exceptions are the three endpoints that had previously supported this return value. The changes note and example for these endpoints is also used in the error handling page.
This commit is contained in:
committed by
Tim Abbott
parent
0f2472ed14
commit
e9bfdd1bf2
@@ -20,6 +20,16 @@ format used by the Zulip server that they are interacting with.
|
||||
|
||||
## Changes in Zulip 7.0
|
||||
|
||||
**Feature level 167**
|
||||
|
||||
* [All REST API endpoints](/api/rest-error-handling#ignored-parameters):
|
||||
Implemented `ignored_parameters_unsupported` as a possible return value
|
||||
in the JSON success response for all endpoints. This value is a array
|
||||
of any parameters that were sent in the request by the client that are
|
||||
not supported by the endpoint. Previously, unsupported parameters were
|
||||
silently ignored, except in the subset of endpoints which already
|
||||
supported this return value; see feature levels 111, 96 and 78.
|
||||
|
||||
**Feature level 166**
|
||||
|
||||
* [`POST /messages`](/api/send-message): Eliminated the undocumented
|
||||
|
@@ -44,3 +44,17 @@ to a given request, the values returned will be for the strictest
|
||||
limit.
|
||||
|
||||
[rate-limiting-rules]: https://zulip.readthedocs.io/en/latest/production/security-model.html#rate-limiting
|
||||
|
||||
## Ignored Parameters
|
||||
|
||||
In JSON success responses, all Zulip REST API endpoints may return
|
||||
an array of parameters sent in the request that are not supported
|
||||
by that specific endpoint.
|
||||
|
||||
While this can be expected, e.g. when sending both current and legacy
|
||||
names for a parameter to a Zulip server of unknown version, this often
|
||||
indicates either a bug in the client implementation or an attempt to
|
||||
configure a new feature while connected to an older Zulip server that
|
||||
does not support said feature.
|
||||
|
||||
{generate_code_example|/settings:patch|fixture}
|
||||
|
Reference in New Issue
Block a user