WAI middleware that serves requests to static files.


Version on this page:0.8.1@rev:2
LTS Haskell 22.29:0.9.2@rev:5
Stackage Nightly 2024-07-18:0.9.2@rev:5
Latest on Hackage:0.9.2@rev:5

See all snapshots wai-middleware-static appears in

BSD-3-Clause licensed and maintained by Andrew Farmer
This version can be pinned in stack with:wai-middleware-static-0.8.1@sha256:c9e6b72329833d8da9183c5d1b8de5119bbc183b96aee13682f2f7da5e17a8f9,2498

Module documentation for 0.8.1

wai-middleware-static Build StatusCoverage Status

WAI middleware that intercepts requests to static files and serves them if they exist.



  • Add Semigroup Policy instance
  • Replace dependencies on base16-bytestring and cryptohash with the more modern memory and cryptonite packages, respectively [myfreeweb]


  • The mime-types library is now used to lookup MIME types from extensions. As a result, some extensions now map to different MIME types. They are:

    Extension wai-middleware-static mime-types
    class application/octet-stream application/java-vm
    dtd text/xml application/xml-dtd
    jar application/x-java-archive application/java-archive
    js text/javascript application/javascript
    ogg application/ogg audio/ogg
    ttf application/x-font-truetype application/x-font-ttf
  • Exposed getMimeType function [Shimuuar]

  • Fixed Windows build (by replacing unix dependency with equivalent directory function)

  • Implement caching [agrafix]
  • Include mp4 and ogv mime_types [DrBoolean]
  • Dependency updates for ghc 7.10 [DougBurke]

  • Update links to new wai-middleware-static github/issue tracker.

  • Bump upper bound for text


  • Update to wai 3.0

  • Bump upper bound for mtl

  • Add isNotAbsolute policy and change static and staticPolicy to use noDots and isNotAbsolute policies by default. (Thanks to Nick Hibberd!)

  • Add unsafeStaticPolicy, which behaves as the old insecure staticPolicy behaved.

  • Add changelog