mirror of
https://codeberg.org/cage/tinmop/
synced 2025-02-26 09:27:36 +01:00
- [JSON-RPC] added the request (that triggered the error) to the data field of an error response.
This commit is contained in:
parent
ba5ddb6d7a
commit
90ae6193e8
@ -78,8 +78,8 @@
|
|||||||
(define-error-code unsupported-protocol -32098 "Only protocol version 2.0 is supported"
|
(define-error-code unsupported-protocol -32098 "Only protocol version 2.0 is supported"
|
||||||
:customp t)
|
:customp t)
|
||||||
|
|
||||||
(defun make-internal-error-message (msg)
|
(defun make-internal-error-message (msg data)
|
||||||
(make-response-error -32603 (format nil "Internal error: ~a" msg)))
|
(make-response-error -32603 (format nil "Internal error: ~a" msg) data))
|
||||||
|
|
||||||
(defun make-failed-function-call-error-message (msg &optional (data nil))
|
(defun make-failed-function-call-error-message (msg &optional (data nil))
|
||||||
(make-response-error -32001
|
(make-response-error -32001
|
||||||
@ -414,18 +414,20 @@
|
|||||||
(misc:dbg m))
|
(misc:dbg m))
|
||||||
|
|
||||||
(defun elaborate-single-request (request)
|
(defun elaborate-single-request (request)
|
||||||
(flet ((make-rpc-error (e id)
|
(flet ((make-rpc-error (e id &optional (data nil))
|
||||||
(maybe-log-message (format nil "jsonrpc request failed: ~a" e))
|
(maybe-log-message (format nil "jsonrpc request failed: ~a" e))
|
||||||
(make-response nil
|
(make-response nil
|
||||||
(or (transaction-id e)
|
(or (transaction-id e)
|
||||||
id)
|
id)
|
||||||
:error-object (make-response-error (or (code e)
|
:error-object (make-response-error (or (code e)
|
||||||
(response-error-code +error-invalid-request+))
|
(response-error-code +error-invalid-request+))
|
||||||
(text e))))
|
(text e)
|
||||||
(make-internal-error (e)
|
data)))
|
||||||
|
(make-internal-error (e &optional (data nil))
|
||||||
(make-response nil
|
(make-response nil
|
||||||
nil
|
nil
|
||||||
:error-object (make-internal-error-message (format nil "~a" e))))
|
:error-object (make-internal-error-message (format nil "~a" e)
|
||||||
|
data)))
|
||||||
(make-failed-function-error (e id &optional (data nil))
|
(make-failed-function-error (e id &optional (data nil))
|
||||||
(make-response nil
|
(make-response nil
|
||||||
id
|
id
|
||||||
@ -448,15 +450,15 @@
|
|||||||
;; does not care about an answer)
|
;; does not care about an answer)
|
||||||
(make-response elaborated id :error-object nil)))
|
(make-response elaborated id :error-object nil)))
|
||||||
(json-rpc-error (e)
|
(json-rpc-error (e)
|
||||||
(make-rpc-error e id))
|
(make-rpc-error e id request))
|
||||||
(error (e)
|
(error (e)
|
||||||
(maybe-log-message (format nil "jsonrpc request failed: ~a" e))
|
(maybe-log-message (format nil "jsonrpc request failed: ~a" e))
|
||||||
(make-failed-function-error e id nil))))
|
(make-failed-function-error e id request))))
|
||||||
(json-rpc-error (e)
|
(json-rpc-error (e)
|
||||||
(make-rpc-error e nil))
|
(make-rpc-error e nil request))
|
||||||
(error (e)
|
(error (e)
|
||||||
(maybe-log-message (format nil "jsonrpc request failed with internal error!: ~a" e))
|
(maybe-log-message (format nil "jsonrpc request failed with internal error!: ~a" e))
|
||||||
(make-internal-error e)))))
|
(make-internal-error e request)))))
|
||||||
|
|
||||||
(defun likely-not-batch-p (request)
|
(defun likely-not-batch-p (request)
|
||||||
(and (every (lambda (a) (and (consp a)
|
(and (every (lambda (a) (and (consp a)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user