1
0
Fork 0
pdfbox/src/webapp/pdf/app.xqm
2024-04-03 23:24:13 +01:00

47 lines
946 B
Text

(:~
pdf
:)
module namespace pdf = 'pdf/common';
(:~
: Redirects to the start page.
: @return redirection
:)
declare
%rest:path('/pdf')
function pdf:home() as element() {
web:forward('/pdf/static/index.html')
};
declare
%rest:path('/pdf/{$file=.+}')
function pdf:spa($file)as element(){
pdf:home()
};
(:~
: Returns a file.
: @param $file file or unknown path
: @return rest binary data
:)
declare
%rest:path('/pdf/static/{$file=.+}')
%output:method('basex')
%perm:allow('public')
function pdf:file(
$file as xs:string
) as item()+ {
let $path := file:base-dir() || "static/" || $file
return if(file:exists($path))
then (
web:response-header(
map { 'media-type': web:content-type($path) },
map { 'Cache-Control': 'max-age=3600,public', 'Content-Length': file:size($path) }
),
file:read-binary($path)
)else
()
};