$darkmode

| Qore WebUtil Module Reference 1.6.2

WebUtil Module

# 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

- updated FileHandler::handleRequest() to allow for chunked sends
- fixed a bug where template programs with Qore::PO_ALLOW_BARE_REFS set did not work
- fixed a bug serving index files in FileHandler::tryServeRequest() where index files could be incorrectly served with a `"204 No Content"` response (issue 616)

## WebUtil v1.2

- fixed a bug where template programs with parse option Qore::PO_ALLOW_BARE_REFS set did not work

## 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