@@ -24,6 +24,7 @@ import Blaze.ByteString.Builder.Char8 (fromChar)
2424import Data.Monoid (mappend)
2525import Control.Monad (join)
2626import Data.Maybe (fromMaybe)
27+import qualified Data.ByteString as S
2728
2829-- | Wrap json responses in a jsonp callback.
2930--
@@ -68,8 +69,9 @@ jsonp app env = do
6869 Just _ -> addCallback c $ responseEnumerator r
6970 Nothing -> return r
7071 checkJSON hs =
71− case fmap B8.unpack $ lookup "Content-Type" hs of
72− Just "application/json" -> Just $ fixHeaders hs
72+ case lookup "Content-Type" hs of
73+ Just x
74+ | B8.pack "application/json" `S.isPrefixOf` x -> Just $ fixHeaders hs
7375 _ -> Nothing
7476 fixHeaders = changeVal "Content-Type" "text/javascript"
7577 addCallback :: B8.ByteString -> (forall a. ResponseEnumerator a)