summaryrefslogtreecommitdiff
path: root/src/scm/webid-oidc/server/precondition.scm
diff options
context:
space:
mode:
Diffstat (limited to 'src/scm/webid-oidc/server/precondition.scm')
-rw-r--r--src/scm/webid-oidc/server/precondition.scm18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/scm/webid-oidc/server/precondition.scm b/src/scm/webid-oidc/server/precondition.scm
index 6912a7a..03ee967 100644
--- a/src/scm/webid-oidc/server/precondition.scm
+++ b/src/scm/webid-oidc/server/precondition.scm
@@ -44,10 +44,28 @@
#:export
(
+ &precondition-failed
+ make-precondition-failed
+ precondition-failed?
+ precondition-failed-path
+ precondition-failed-if-match
+ precondition-failed-if-none-match
+ precondition-failed-etag
+
check-precondition
))
+(define-exception-type
+ &precondition-failed
+ &external-error
+ make-precondition-failed
+ precondition-failed?
+ (path precondition-failed-path)
+ (if-match precondition-failed-if-match)
+ (if-none-match precondition-failed-if-none-match)
+ (etag precondition-failed-etag))
+
(define (the-etag object)
;; Sometimes the user passes a pair as an etag (just like what
;; request-if-match may return).