JSON Middleware

class smarter.lib.django.middleware.json.SmarterJsonErrorMiddleware(get_response, *args, **kwargs)[source]

Bases: SmarterMiddlewareMixin

Middleware that converts non-JSON error responses into JSON responses for clients requesting JSON content.

static build_error_payload(response)[source]

Build standardized JSON error payload.

Return type:

dict[str, Any]

client_accepts_json(request)[source]

Determine whether the client accepts JSON responses.

Return type:

bool

property formatted_class_name: str

str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to ‘utf-8’. errors defaults to ‘strict’.

normalize_json_error_response(request, response)[source]

Convert non-JSON error responses into JsonResponse objects.

Return type:

HttpResponseBase

static response_is_json(response)[source]

Detect whether the response is already JSON.

Return type:

bool