HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Moduleservant-server-0.20.2Haskell2010

Servant.Server.StaticFiles

This module defines server-side handlers that lets you serve static files.

The most common needs for a web application are covered by serveDirectoryWebApp, but the other variants allow you to use different StaticSettings and serveDirectoryWith even allows you to specify arbitrary StaticSettings to be used for serving static files.

  • 6 values

Serve anything under the specified directory as a Raw endpoint.

type MyApi = "static" :> Raw

server :: Server MyApi
server = serveDirectoryWebApp "/var/www"

would capture any request to /static/<something> and look for <something> under /var/www.

It will do its best to guess the MIME type for that file, based on the extension, and send an appropriate Content-Type header if possible.

If your goal is to serve HTML, CSS and Javascript files that use the rest of the API as a webapp backend, you will most likely not want the static files to be hidden behind a /static/ prefix. In that case, remember to put the serveDirectoryWebApp handler in the last position, because servant will try to match the handlers in order.

Corresponds to the defaultWebAppSettings StaticSettings value.

Deprecated

1 declaration