From 723ad177189f8055e5ca01503f091dc920f8854b Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Sat, 30 Jul 2022 15:50:05 -0400 Subject: Add some functions for getting gemini status codes --- gemini.cl | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 gemini.cl diff --git a/gemini.cl b/gemini.cl new file mode 100644 index 0000000..9460439 --- /dev/null +++ b/gemini.cl @@ -0,0 +1,26 @@ +(defun reverse-alist (alist) + (loop for (a . b) in alist collect `(,b . ,a))) + +(defvar +status-codes+ + '((10 . :input) + (11 . :sensitive-input) + (20 . :success) + (30 . :redirect) + (40 . :temporary-failure) + (41 . :server-unavailable) + (42 . :gci-error) + (43 . :proxy-error) + (44 . :slow-down) + (50 . :permanent-failure) + (51 . :not-found) + (52 . :gone) + (59 . :bad-request) + (60 . :client-certificate-required) + (61 . :certificate-not-authorised) + (62 . :certificate-not-valid))) + +(defun number->status (num) + (cdr (assoc num +status-codes+))) + +(defun status->number (key) + (cdr (assoc key (reverse-alist +status-codes+)))) -- cgit v1.2.3