From: Anders Kaseorg Date: Mon, 12 Jul 2010 03:12:14 +0000 (-0400) Subject: Support suffix byte range specifiers. X-Git-Url: http://andersk.mit.edu/gitweb/scripts-static-cat.git/commitdiff_plain/3078266427a7096d2b9f69d3133ca64ace0cd1fa Support suffix byte range specifiers. Signed-off-by: Anders Kaseorg --- diff --git a/StaticCat.hs b/StaticCat.hs index b5d03fc..396403b 100644 --- a/StaticCat.hs +++ b/StaticCat.hs @@ -123,6 +123,8 @@ checkIfRange mTime = do return $ if parseHTTPDate ir == Just mTime then Just () else Nothing parseRange :: String -> FileOffset -> Maybe (FileOffset, FileOffset) +parseRange (splitAt 6 -> ("bytes=", '-':(readDec -> [(len, "")]))) size = + Just (max 0 (size - len), size - 1) parseRange (splitAt 6 -> ("bytes=", readDec -> [(a, "-")])) size = Just (a, size - 1) parseRange (splitAt 6 -> ("bytes=", readDec -> [(a, '-':(readDec -> [(b, "")]))])) size =