From 4108ae479d67067789f98267175e127e6a2a61ad Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Fri, 1 May 2020 19:08:46 -0400 Subject: Initial work on a sensible, packaged connection system. --- protocol.f90 | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 protocol.f90 (limited to 'protocol.f90') diff --git a/protocol.f90 b/protocol.f90 new file mode 100644 index 0000000..fa36fe7 --- /dev/null +++ b/protocol.f90 @@ -0,0 +1,40 @@ +module gemini_protocol +implicit none + + integer, parameter::STATUS_INPUT = 1 + integer, parameter::STATUS_SUCCESS = 2 + integer, parameter::STATUS_REDIRECT = 3 + integer, parameter::STATUS_TEMPFAIL = 4 + integer, parameter::STATUS_PERMFAIL = 5 + integer, parameter::STATUS_CERTREQ = 6 + integer, parameter::STATUS_LOCALFAIL = -1 + +contains + + function request_url(url, unit_number, server_name) result(returncode) + use request + implicit none + + character(*), intent(in)::url + integer, intent(in)::unit_number + character(*), intent(in), optional::server_name + + integer::returncode + + character(:), allocatable::server + + returncode = -1 + + if(present(server_name)) then + allocate(character(len=len_trim(server_name)) :: server) + server = server_name + else + server = get_server_from_url(url) + end if + + + + + end function request_url + +end module gemini_protocol \ No newline at end of file -- cgit v1.2.3