!&      !"#$% Safe| http-mediaoDefines methods for a type whose values can be matched against each other in terms of an HTTP Accept-* header.This allows functions to work on both the standard Accept header and others such as Accept-Language that still may use quality values. http-mediaJSpecifies how to parse an Accept-* header after quality has been handled. http-mediaAEvaluates whether either the left argument matches the right one.This relation must be a total order, where more specific terms on the left can produce a match, but a less specific term on the left can never produce a match. For instance, when matching against media types it is important that if the client asks for a general type then we can choose a more specific offering from the server, but if a client asks for a specific type and the server only offers a more general form, then we cannot generalise. In this case, the server types will be the left argument, and the client types the right.KFor types with no concept of specificity, this operation is just equality. http-mediaDEvaluates whether the left argument is more specific than the right.This relation must be irreflexive and transitive. For types with no concept of specificity, this is the empty relation (always false). http-mediaIndicates whether extension parameters are permitted after the weight parameter when this type appears in an Accept header. Defaults to false. http-media>Evaluates to whichever argument is more specific. Left biased.Safel http-media<A class for header values, so they may be rendered to their &e representation. Lists of header values and quality-marked header values will render appropriately. http-media!Render a header value to a UTF-8 &.Safe#  http-media!Attaches a quality value to data.  http-media#Manually construct a quality value.  http-mediaAttaches the quality value '1'. http-mediaAttaches the quality value '0'.' http-mediaEConverts the integral value into its standard quality representation.( http-mediaAReads the standard quality representation into an integral value. )*+ '(Safe& http-media1Suitable for HTTP language-ranges as defined in  >http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4RFC2616. Specifically: 9language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" ),Safe(u http-media Converts G to a list of its language parts. The wildcard produces an empty list.Safe.- http-mediaEquivalent to  b (on equality against the given character), but leaves out the byte that the string is broken on.. http-media>Trims tab and space characters from both ends of a ByteString./ http-media.List of the valid characters for a media-type  `reg-name` as per RFC 4288.0 http-media?Evaluates whether the given character is valid in a media type  `reg-name` as per RFC 4288.-./0 Safe2 http-media parameters. http-mediaDAn HTTP media type, consisting of the type, subtype, and parameters.1 http-mediaThe main type of the MediaType2 http-mediaThe sub type of the MediaType3 http-mediaThe parameters of the MediaType4123Safe?  http-mediaRetrieves the main type of a . http-mediaRetrieves the sub type of a . http-mediaRetrieves the parameters of a . http-media Builds a E without parameters. Can produce an error if either type is invalid. http-mediaAdds a parameter to a 4. Can produce an error if either string is invalid. http-mediaEvaluates if a # has a parameter of the given name. http-mediaRetrieves a parameter from a .5 http-mediaEnsures that the & matches the ABNF for  `reg-name` in RFC 4288.6 http-mediaEnsures that the & does not contain invalid characters for a parameter value. RFC 4288 does not specify what characters are valid, so here we just disallow parameter and media type breakers, ',' and ';'.7 http-mediaFEnsures the predicate matches for every character in the given string.  Safe{  http-mediavMatches a list of server-side resource options against a quality-marked list of client-side preferences. A result of 8 means that nothing matched (which should indicate a 406 error). If two or more results arise with the same quality level and specificity, then the first one in the server list is chosen.The use of the . type class allows the application of either # for the standard Accept header or &G for any other Accept header which can be marked with a quality value. ;matchAccept ["text/html", "application/json"] <$> getHeaderJFor more information on the matching process see RFC 2616, section 14.1-4. http-mediaThe equivalent of  above, except the resulting choice is mapped to another value. Convenient for specifying how to translate the resource into each of its available formats. getHeader >>= maybe render406Error renderResource . mapAccept [ ("text" // "html", asHtml) , ("application" // "json", asJson) ] http-mediaA specialisation of  that only takes U as its input, to avoid ambiguous-type errors when using string literal overloading. getHeader >>= maybe render406Error renderResource . mapAcceptMedia [ ("text/html", asHtml) , ("application/json", asJson) ] http-mediaA specialisation of  that only takes U as its input, to avoid ambiguous-type errors when using string literal overloading. getHeader >>= maybe render406Error renderResource . mapAcceptLanguage [ ("text/html", asHtml) , ("application/json", asJson) ] http-mediaA specialisation of  that only takes &V as its input, to avoid ambiguous-type errors when using string literal overloading. getHeader >>= maybe render406Error encodeResourceWith . mapAcceptBytes [ ("compress", compress) , ("gzip", gzip) ] http-mediadMatches a list of server-side parsing options against a the client-side content value. A result of 8A means that nothing matched (which should indicate a 415 error). BmatchContent ["application/json", "text/plain"] <$> getContentTypeIFor more information on the matching process see RFC 2616, section 14.17.  http-mediaThe equivalent of @ above, except the resulting choice is mapped to another value. getContentType >>= maybe send415Error readRequestBodyWith . mapContent [ ("application" // "json", parseJson) , ("text" // "plain", parseText) ]! http-mediaA specialisation of   that only takes V as its input, to avoid ambiguous-type errors when using string literal overloading. getContentType >>= maybe send415Error readRequestBodyWith . mapContentMedia [ ("application/json", parseJson) , ("text/plain", parseText) ]" http-mediaA specialisation of   that only takes U as its input, to avoid ambiguous-type errors when using string literal overloading. getContentType >>= maybe send415Error readRequestBodyWith . mapContentLanguage [ ("application/json", parseJson) , ("text/plain", parseText) ]# http-mediaFParses a full Accept header into a list of quality-valued media types.$ http-mediaMatches a list of server-side resource options against a pre-parsed quality-marked list of client-side preferences. A result of 8 means that nothing matched (which should indicate a 406 error). If two or more results arise with the same quality level and specificity, then the first one in the server list is chosen.The use of the . type class allows the application of either # for the standard Accept header or &G for any other Accept header which can be marked with a quality value. FmatchQuality ["text/html", "application/json"] <$> parseQuality headerJFor more information on the matching process see RFC 2616, section 14.1-4.% http-mediaThe equivalent of $ above, except the resulting choice is mapped to another value. Convenient for specifying how to translate the resource into each of its available formats. parseQuality header >>= maybe render406Error renderResource . mapQuality [ ("text" // "html", asHtml) , ("application" // "json", asJson) ]9 http-media%The equivalent of 'lookupBy matches'.  http-mediaThe server-side options http-mediaThe client-side header value http-media,The map of server-side preferences to values http-mediaThe client-side header value http-media,The map of server-side preferences to values http-mediaThe client-side header value http-media,The map of server-side preferences to values http-mediaThe client-side header value http-media,The map of server-side preferences to values http-mediaThe client-side header value http-media The server-side response options http-mediaThe client's request value  http-media The map of server-side responses http-media!The client request's header value! http-media The map of server-side responses http-media!The client request's header value" http-media The map of server-side responses http-media!The client request's header value$ http-mediaThe server-side options http-media'The pre-parsed client-side header value% http-media,The map of server-side preferences to values http-mediaThe client-side header value!  !"#$%! !" #$%:     !"#$%&'()*+,-./0123456789:;<  ! =>?@ABCD)http-media-0.7.1.3-IflQY6Mlkj1BsLT5EmYPMFNetwork.HTTP.Media.AcceptNetwork.HTTP.Media.RenderHeaderNetwork.HTTP.MediaNetwork.HTTP.Media.LanguageNetwork.HTTP.Media.MediaTypeNetwork.HTTP.Media.Quality$Network.HTTP.Media.Language.InternalNetwork.HTTP.Media.UtilsData.ByteStringbreak%Network.HTTP.Media.MediaType.InternalAccept parseAcceptmatchesmoreSpecificThanhasExtensionParameters mostSpecific$fAcceptByteString RenderHeader renderHeader$fRenderHeader[]$fRenderHeaderByteStringQualityquality maxQuality minQualityLanguagetoParts Parameters MediaTypemainTypesubType parameters///:/?/. matchAccept mapAcceptmapAcceptMediamapAcceptLanguagemapAcceptBytes matchContent mapContentmapContentMediamapContentLanguage parseQuality matchQuality mapQualitybytestring-0.10.8.2Data.ByteString.Internal ByteStringshowQreadQ qualityData qualityValue breakChartrimBS validChars isValidCharensureRensureVensurebaseGHC.BaseNothing lookupMatches