From 3078266427a7096d2b9f69d3133ca64ace0cd1fa Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Sun, 11 Jul 2010 23:12:14 -0400 Subject: [PATCH] Support suffix byte range specifiers. Signed-off-by: Anders Kaseorg --- StaticCat.hs | 2 ++ 1 file changed, 2 insertions(+) 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 = -- 2.44.0