sendFile

Sends a file to the given HTTP server response object.

When serving a file, certain request headers are supported to avoid sending the file if the client has it already cached. These headers are "If-Modified-Since" and "If-None-Match". The client will be delivered with the necessary "Etag" (generated from size and last modification time of the file) and "Last-Modified" headers.

The cache control directives "Expires" and/or "Cache-Control" will also be emitted if the HTTPFileServerSettings.maxAge field is set to a positive duration and/or HTTPFileServerSettings.cacheControl has been set.

Finally, HEAD requests will automatically be handled without reading the actual file contents. Am empty response body is written instead.

@safe
void
sendFile

Parameters

req HTTPServerRequest

The incoming HTTP request - cache and modification headers of the request can influence the generated response.

res HTTPServerResponse

The response object to write to.

path NativePath

Path to the file to be sent.

settings HTTPFileServerSettings

Optional settings object enabling customization of how the file gets served.

Meta