WP_REST_Server::error_to_response PHP Method

error_to_response() protected method

This iterates over all error codes and messages to change it into a flat array. This enables simpler client behaviour, as it is represented as a list in JSON rather than an object/map.
Since: 4.4.0
protected error_to_response ( WP_Error $error ) : WP_REST_Response
$error WP_Error WP_Error instance.
return WP_REST_Response List of associative arrays with code and message keys.
    protected function error_to_response($error)
    {
        $error_data = $error->get_error_data();
        if (is_array($error_data) && isset($error_data['status'])) {
            $status = $error_data['status'];
        } else {
            $status = 500;
        }
        $errors = array();
        foreach ((array) $error->errors as $code => $messages) {
            foreach ((array) $messages as $message) {
                $errors[] = array('code' => $code, 'message' => $message, 'data' => $error->get_error_data($code));
            }
        }
        $data = $errors[0];
        if (count($errors) > 1) {
            // Remove the primary error.
            array_shift($errors);
            $data['additional_errors'] = $errors;
        }
        $response = new WP_REST_Response($data, $status);
        return $response;
    }