diff options
author | Jeffrey Armstrong <jeff@approximatrix.com> | 2022-05-02 11:15:59 -0400 |
---|---|---|
committer | Jeffrey Armstrong <jeff@approximatrix.com> | 2022-05-02 11:15:59 -0400 |
commit | d26549e79053413bf82c510c6fb192289fe7448a (patch) | |
tree | 107f76ff094790df116666292fb3dcfcba97a14c /captain/http.f90 | |
parent | 8c401f9748069eb052f5ac4f2eee1761b1f67afd (diff) | |
download | levitating-d26549e79053413bf82c510c6fb192289fe7448a.tar.gz levitating-d26549e79053413bf82c510c6fb192289fe7448a.zip |
Added concept of cookies so that sessions could exist in the web interface. Login and logout now work properly.
Diffstat (limited to 'captain/http.f90')
-rw-r--r-- | captain/http.f90 | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/captain/http.f90 b/captain/http.f90 index e58f05d..9e2fca5 100644 --- a/captain/http.f90 +++ b/captain/http.f90 @@ -44,19 +44,22 @@ contains end subroutine write_status - subroutine write_response_headers(outunit, code, filesize, mimetype) + subroutine write_response_headers(outunit, code, filesize, mimetype, cookiecmd) use logging implicit none integer, intent(in)::outunit, code, filesize character(*), intent(in)::mimetype + character(*), intent(in), optional::cookiecmd character(16)::num_txt - character(len=128)::confirm - call write_status(outunit, code) + if(present(cookiecmd)) then + write(outunit, '(A)') cookiecmd + end if + write(num_txt, '(I16)') filesize write(outunit, '(A15,1X)', advance='no') "Content-Length:" write(outunit, *) trim(adjustl(num_txt)) |