- download(+Request) is det[private]
- HTTP handler for SWI-Prolog download pages.
- download_table(+Request)[private]
- Provide a table with possible download targets.
test edit
- list_downloads(+Directory)[private]
- toggle_show(+Options) is det[private]
- Add a toggle to switch between showing only the latest version
and all versions.
- list_files(+Dir, +SubDir, +Class, +Label, +Options) is det[private]
- Create table rows for all files in Dir/SubDir. If files are
present, emit a
tr
with Label and a tr
row for each each
matching file. Options are:
- show(Show)
- One of
all
or latest
(default).
- platform_notes(+Platform, +Path) is det[private]
- Include notes on the platform. These notes are stored in a wiki
file in the same directory as the download file.
- download_files(+Dir, +Class, -Files, +Options)[private]
- Files is a list of files that satisfy Class and Options in
Dir/Subdir.
- classify_file(+Path, -Term, +Options) is semidet[private]
- sort_files(+In, -Out, +Options)[private]
- Sort files by type and version. Type: linux, windows, mac, src,
doc. Versions: latest first.
Options:
- show(Show)
- One of
all
or latest
.
- old_tagged_file(+TypeFile) is semidet[private]
- download(+Request) is det[private]
- Actually download a file. Two special requests are supported:
- By postfixing the file with `.sha256` you get the SHA256
checksum rather than the file.
- If you replace the version with
latest
you get an HTTP
303 (See Other) reply pointing at the latest version.
- download_daily(+Request)[private]
- Provide the download page for the windows binaries.
- file_checksum(+Path:atom, -Sum:atom) is det[private]
- True when Sum is the SHA256 checksum of file. We keep this in
the Prolog database because this simplifies uploading files.
Although the data under control of the server and thus more
vulnerable than the download area on disk because that is not
writeable by the server, I think this is also better from a
security point of view because it requires the attacker to both
modify the filesystem and the server, something that requires
different rights and expertise.