aboutsummaryrefslogtreecommitdiff
path: root/protocol.f90
diff options
context:
space:
mode:
Diffstat (limited to 'protocol.f90')
-rw-r--r--protocol.f9017
1 files changed, 15 insertions, 2 deletions
diff --git a/protocol.f90 b/protocol.f90
index b0699a6..4948325 100644
--- a/protocol.f90
+++ b/protocol.f90
@@ -31,6 +31,7 @@ implicit none
integer, parameter::STATUS_CERTREQ = 6
integer, parameter::STATUS_BADRESPONSE = 7
integer, parameter::STATUS_LOCALFAIL = -1
+ integer, parameter::STATUS_CONNECTFAIL = -2
integer, parameter::BUFFER_SIZE = 256
@@ -38,6 +39,17 @@ implicit none
contains
+ function is_failure_code(return_code)
+ implicit none
+
+ integer, intent(in)::return_code
+ logical::is_failure_code
+
+ is_failure_code = any(return_code == &
+ [STATUS_CONNECTFAIL, STATUS_LOCALFAIL, STATUS_BADRESPONSE, STATUS_PERMFAIL, STATUS_TEMPFAIL])
+
+ end function is_failure_code
+
subroutine get_mimetype(status_line, return_type)
implicit none
@@ -225,16 +237,17 @@ contains
else
- returncode = -1
+ returncode = STATUS_CONNECTFAIL
write(unit_number, *) "Send Error: Could Not Send Request"
end if
else
- returncode = -1
+ returncode = STATUS_CONNECTFAIL
write(unit_number, *) "Connection Error: "//trim(translate_connection_code(conn%code))
write(*, *) "Connection Error: "//trim(translate_connection_code(conn%code))
+
end if
call close_connection(conn)