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

Module documentation for 0.9.2

wai-middleware-static Build Status

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


0.9.2 [2022.03.08]

  • Allow building with GHC 9.2.
  • Replace the cryptonite and memory dependencies with equivalent functionality from cryptohash-sha1 and base16-bytestring.

0.9.1 [2021.10.31]

  • Always import Data.List qualified.

0.9.0 [2020.10.01]

  • Only serve static files on HEAD or GET requests.

0.8.3 [2019.10.20]

  • Add Options, staticWithOptions, staticPolicyWithOptions, and unsafeStaticPolicyWithOptions.
  • Parameterize Middleware with options allowing custom file name to MIME type mapping.

0.8.2 [2018.04.07]

  • Remove unused test suite.


  • 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