aboutsummaryrefslogtreecommitdiff
path: root/request.f90
diff options
context:
space:
mode:
Diffstat (limited to 'request.f90')
-rw-r--r--request.f9019
1 files changed, 18 insertions, 1 deletions
diff --git a/request.f90 b/request.f90
index 7308a9e..ec35772 100644
--- a/request.f90
+++ b/request.f90
@@ -164,13 +164,17 @@ contains
end subroutine close_connection
- subroutine get_server_from_url(url, server)
+ subroutine get_server_from_url(url, server, port)
implicit none
character(*), intent(in)::url
character(:), allocatable, intent(out)::server
+ integer, intent(out)::port
integer::start_server, end_server, length
+ integer::start_port, iostatus
+
+ port = -1
start_server = index(url, "://")
if(start_server > 0) then
@@ -189,6 +193,19 @@ contains
server = url(start_server:end_server)
end if
+
+ ! Need to check if a port was specified too
+ start_port = index(server, ":")
+ if(start_port > 0) then
+
+ read(server(start_port+1:len_trim(server)), *, iostat=iostatus) port
+ if(iostatus /= 0) then
+ port = -1
+ end if
+
+ server = server(1:start_port-1)
+
+ end if
end subroutine get_server_from_url