summaryrefslogtreecommitdiff
path: root/gemini/request.mli
diff options
context:
space:
mode:
authorRyan Kavanagh <rak@rak.ac>2020-05-31 22:31:33 -0400
committerRyan Kavanagh <rak@rak.ac>2020-05-31 22:36:28 -0400
commit4431ffd4ea72a30003ae5ccde3e3d61bf64313eb (patch)
tree78414ecfb4d15cc8230912dfad0c930d8dadbc14 /gemini/request.mli
parentmimetype stub (diff)
We can now make requests
Diffstat (limited to 'gemini/request.mli')
-rw-r--r--gemini/request.mli37
1 files changed, 37 insertions, 0 deletions
diff --git a/gemini/request.mli b/gemini/request.mli
new file mode 100644
index 0000000..b96a5ae
--- /dev/null
+++ b/gemini/request.mli
@@ -0,0 +1,37 @@
+module type GEMINI_TRANSACTION =
+sig
+ module M : MimeType.MIME_TYPE
+
+ type status =
+ | INPUT
+ | SUCCESS
+ | SUCCESS_EOCSS
+ | REDIR_TEMP
+ | REDIR_PERM
+ | TEMP_FAIL
+ | SERVER_UNAVAILABLE
+ | CGI_ERROR
+ | PROXY_ERROR
+ | SLOW_DOWN
+ | PERM_FAIL
+ | NOT_FOUND
+ | GONE
+ | PROXY_REQ_REFUSED
+ | BAD_REQ
+ | CLIENT_CERT_REQUIRED
+ | TRANSIENT_CERT_REQUESTED
+ | AUTHORISED_CERT_REQUIRED
+ | CERT_NOT_ACCEPTED
+ | FUTURE_CERT_REJECTED
+ | EXPIRED_CERT_REJECTED
+
+ type mime_type = M.t
+
+ type response = status * mime_type * string
+
+ val int_to_status : int -> status option
+
+ val request : string -> response option
+end
+
+module GeminiTransaction (M : MimeType.MIME_TYPE) : GEMINI_TRANSACTION with module M = M