aboutsummaryrefslogtreecommitdiff
path: root/captain/external.f90
diff options
context:
space:
mode:
authorJeffrey Armstrong <jeff@approximatrix.com>2021-03-29 08:48:48 -0400
committerJeffrey Armstrong <jeff@approximatrix.com>2021-03-29 08:48:48 -0400
commit7614a6244d080b8c0f82da8c34ccf7a4a88fe72a (patch)
tree3114517c96ae230c5a27f16187135b3a987b9265 /captain/external.f90
parentc7bf38f440c3e1cafd2ddb35d4505e936d4e3e86 (diff)
downloadlevitating-7614a6244d080b8c0f82da8c34ccf7a4a88fe72a.tar.gz
levitating-7614a6244d080b8c0f82da8c34ccf7a4a88fe72a.zip
Added handling for basic external requests.
Diffstat (limited to 'captain/external.f90')
-rw-r--r--captain/external.f9025
1 files changed, 17 insertions, 8 deletions
diff --git a/captain/external.f90 b/captain/external.f90
index d33e13d..86efe94 100644
--- a/captain/external.f90
+++ b/captain/external.f90
@@ -4,12 +4,12 @@ implicit none
contains
- subroutine external_request_gemini(request)
+ function external_request_gemini(request) result(renderunit)
use page_template
implicit none
character(*), intent(in)::request
-
+ integer::renderunit
character(1024)::template_file
type(template)::page
@@ -19,25 +19,34 @@ contains
if(trim(request) == "/" .or. trim(request) == "/index.gmi") then
-
-
+ call page%assign('title', 'Home')
+
else if(trim(request) == "/releases.gmi") then
-
+ call page%assign('title', 'Releases')
else if(trim(request) == "/jobs.gmi") then
-
+ call page%assign('title', 'Jobs')
else if(trim(request) == "/players.gmi") then
-
+ call page%assign('title', 'Players')
else if(trim(request) == "/about.gmi") then
+ call page%assign('title', 'About')
+
+ else
+
+ call page%assign('title', 'Not Found')
end if
+
+ open(newunit=renderunit, form="formatted", status="scratch", access='stream')
+
+ call page%render(renderunit)
- end subroutine external_request_gemini
+ end function external_request_gemini
end module external_handling \ No newline at end of file