diff options
Diffstat (limited to 'gemini/geminiTransaction.mli')
-rw-r--r-- | gemini/geminiTransaction.mli | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gemini/geminiTransaction.mli b/gemini/geminiTransaction.mli new file mode 100644 index 0000000..45049f1 --- /dev/null +++ b/gemini/geminiTransaction.mli @@ -0,0 +1,41 @@ +module type GEMINI_TRANSACTION = +sig + type request + + 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 string_to_request : string -> request + + val int_to_status : int -> status option + + val transaction : request -> response option Lwt.t +end + +module GeminiTransaction (M : MimeType.MIME_TYPE) : GEMINI_TRANSACTION with module M = M |