| |||||||||
| |||||||||
| Description | |||||||||
| Handling static files on the filesystem. | |||||||||
| Synopsis | |||||||||
| |||||||||
| Documentation | |||||||||
| staticFile :: FilePath -> ResourceDef | |||||||||
| staticFile fpath is a ResourceDef which serves the file at fpath on the filesystem. | |||||||||
| handleStaticFile :: FilePath -> Resource () | |||||||||
Computation of handleStaticFile fpath serves the file at fpath on the filesystem. The Resource must be in the /Examining Request state before the computation. It will be in the Done/ state after the computation. If you just want to place a static file on the ResTree, you had better use staticFile instead of this. | |||||||||
| staticDir :: FilePath -> ResourceDef | |||||||||
| staticDir dir is a ResourceDef which maps all files in dir and its subdirectories on the filesystem to the ResTree. | |||||||||
| handleStaticDir :: FilePath -> Resource () | |||||||||
Computation of handleStaticDir dir maps all files in dir and its subdirectories on the filesystem to the ResTree. The Resource must be in the /Examining Request state before the computation. It will be in the Done/ state after the computation. If you just want to place a static directory tree on the ResTree, you had better use staticDir instead of this. | |||||||||
| generateETagFromFile :: FilePath -> IO ETag | |||||||||
Computation of generateETagFromFile fpath generates a strong entity tag from a file. The file doesn't necessarily have to be a regular file; it may be a FIFO or a device file. The tag is made of inode ID, size and modification time. Note that the tag is not strictly strong because the file could be modified twice at a second without changing inode ID or size, but it's not really possible to generate a strict strong ETag from a file since we don't want to simply grab the entire file and use it as an ETag. It is indeed possible to hash it with SHA-1 or MD5 to increase strictness, but it's too inefficient if the file is really large (say, 1 TiB). | |||||||||
| Produced by Haddock version 2.1.0 |