http-types-0.9.1: Generic HTTP types for Haskell (for both client and server code).

Safe HaskellNone
LanguageHaskell98

Network.HTTP.Types.Header

Contents

Synopsis

Types

type Header = (HeaderName, ByteString)

Header

type HeaderName = CI ByteString

Header name

type RequestHeaders = [Header]

Request Headers

type ResponseHeaders = [Header]

Response Headers

Common headers

Byte ranges

data ByteRange

RFC 2616 Byte range (individual).

Negative indices are not allowed!

type ByteRanges = [ByteRange]

RFC 2616 Byte ranges (set).

parseByteRanges :: ByteString -> Maybe ByteRanges

Parse the value of a Range header into a ByteRanges.

>>> parseByteRanges "error"
Nothing
>>> parseByteRanges "bytes=0-499"
Just [ByteRangeFromTo 0 499]
>>> parseByteRanges "bytes=500-999"
Just [ByteRangeFromTo 500 999]
>>> parseByteRanges "bytes=-500"
Just [ByteRangeSuffix 500]
>>> parseByteRanges "bytes=9500-"
Just [ByteRangeFrom 9500]
>>> parseByteRanges "bytes=0-0,-1"
Just [ByteRangeFromTo 0 0,ByteRangeSuffix 1]
>>> parseByteRanges "bytes=500-600,601-999"
Just [ByteRangeFromTo 500 600,ByteRangeFromTo 601 999]
>>> parseByteRanges "bytes=500-700,601-999"
Just [ByteRangeFromTo 500 700,ByteRangeFromTo 601 999]