Introduction to the WebUtil Module
The WebUtil module provides code that support higher-level web server operations.
To use this module, use "%requires WebUtil"
in your code.
All the public symbols in the module are defined in the WebUtil namespace
Classes:
- TextTemplateBase: the base class for all Program containers for template programs where text is rendered from templates made up of mixed Qore and text
- FileTemplate: models a single template based on a real file on the filesystem and provides compilation and rendering support for the template; supports recompiling on the fly if the file's modification time changes
- TemplateFileManager: manages templates based on real files on the filesystem, uses FileTemplate to store the templates and render output; uses efficient locking to safely handle multiple concurrent requests
- StaticTemplateManager: manages mixed Qore and text templates that are rendered to generate a final file; useful for HTML rendering for example
- FileHandler: a class for serving files from the file system anchored at a particular URL; also uses TemplateFileManager to automatically manage any template files found; supports automatic compilation of and rendering from template files
Release Notes
WebUtil v1.6.2
- fixed a bug where files outside the root directory could be served with specially-formatted requests (issue 4550)
WebUtil v1.6.1
- fixed a bug serving files did not work in server contexts with multiple threads (issue 4096)
WebUtil v1.6
- fixed a bug when StaticTemplateManager does not respect constructor's parse options in templates (issue 3334)
WebUtil v1.5
- added support for custom file serving (issue 3260)
- updated for Qore 0.9
WebUtil v1.4.1
- made it possible for FileHandler subclasses to add headers to response (issue 2686)
WebUtil v1.4
- updated for complex types
WebUtil v1.3
WebUtil v1.2
WebUtil v1.1
- added logic to the default file serving code to determine if the file is a binary or text file from the MIME type
WebUtil v1.0
- the initial version of the WebUtil module