diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2020-11-29 11:43:02 +0100 |
---|---|---|
committer | Vivien Kraus <vivien@planete-kraus.eu> | 2021-06-19 15:44:24 +0200 |
commit | b421139970323462df02c52bccfc960558d4c10f (patch) | |
tree | 07d777c909397dafb0937c4b774545b2354b4ceb /src/scm/webid-oidc/errors.scm | |
parent | 0dd0ab17ebf6d8cef93f007582156548aca4c5dd (diff) |
Provide a higher-level API for JWKs and JWKSs
Diffstat (limited to 'src/scm/webid-oidc/errors.scm')
-rw-r--r-- | src/scm/webid-oidc/errors.scm | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/scm/webid-oidc/errors.scm b/src/scm/webid-oidc/errors.scm index b575a77..a690088 100644 --- a/src/scm/webid-oidc/errors.scm +++ b/src/scm/webid-oidc/errors.scm @@ -54,6 +54,36 @@ (raise-exception ((record-constructor ¬-a-jwk) value cause))) +(define-public ¬-a-public-jwk + (make-exception-type + '¬-a-public-jwk + &external-error + '(value cause))) + +(define-public (raise-not-a-public-jwk value cause) + (raise-exception + ((record-constructor ¬-a-public-jwk) value cause))) + +(define-public ¬-a-private-jwk + (make-exception-type + '¬-a-private-jwk + &external-error + '(value cause))) + +(define-public (raise-not-a-private-jwk value cause) + (raise-exception + ((record-constructor ¬-a-private-jwk) value cause))) + +(define-public ¬-a-jwks + (make-exception-type + '¬-a-jwks + &external-error + '(value cause))) + +(define-public (raise-not-a-jwks value cause) + (raise-exception + ((record-constructor ¬-a-jwks) value cause))) + (define-public &unsupported-alg (make-exception-type '&unsupported-alg @@ -92,6 +122,27 @@ (get 'value) cause) (format #f (G_ "the value ~s does not identify a JWK") (get 'value))))) + ((¬-a-public-jwk) + (let ((cause (get 'cause))) + (if cause + (format #f (G_ "the value ~s does not identify a public JWK (because ~a)") + (get 'value) cause) + (format #f (G_ "the value ~s does not identify a public JWK") + (get 'value))))) + ((¬-a-private-jwk) + (let ((cause (get 'cause))) + (if cause + (format #f (G_ "the value ~s does not identify a private JWK (because ~a)") + (get 'value) cause) + (format #f (G_ "the value ~s does not identify a private JWK") + (get 'value))))) + ((¬-a-jwks) + (let ((cause (get 'cause))) + (if cause + (format #f (G_ "the value ~s does not identify a JWKS (because ~a)") + (get 'value) cause) + (format #f (G_ "the value ~s does not identify a JWKS") + (get 'value))))) ((&unsupported-alg) (format #f (G_ "the value ~s does not identify a hash algorithm") (get 'value))) |