!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  None None   Safe-Inferred None Safe-Inferredmedia-type and sub-type "*". <Generic media-subtype. LGeneric media-type. NThe Media-type representation. TType-class for converting a  to a media-subtype. VType-class for converting a  to a media-type.   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXVWTUNOPQRSLMJKHIFGDEBC@A>?<=:;8967452301./,-*+()&'$%"# !  y    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW Safe-InferredXThe error type used as F# meta-data in all snap predicates. Z(HTTP) status code [optional status message \"Convenience function to construct X values from ! status code and status message. XYZ[\XYZ[\XYZ[\XYZ[\ Safe-Inferred]-An environment for predicates, consisting of  mappings form s to  values. ^An empty environment. _3Try to get the associated value for the given key.  Only successful iff, (i) ] contains a binding for k . and (ii) the type of value and target match. `#Add a binding from key to value to ] , overriding  previous bindings if existing. ] ^_`]^_`]^_`] ^_`None       Safe-Inferred aA n' instance corresponding to the logical  AND connective of two ns. c-Data-type used for tupling-up the results of a. eA n' instance corresponding to the logical  OR connective of two ns. The meta-data of  each s&rue branch can be of different types. If both arguments evaluate to s the one with the  smaller u& will be preferred, or--if equal--the  left-hand argument. hA n' instance corresponding to the logical  OR connective of two ns. It requires the  meta-data of each s#rue branch to be of the same type. If both arguments evaluate to s the one with the  smaller u& will be preferred, or--if equal--the  left-hand argument. jA n instance which always returns t with  the given value as F' s meta-data. lA n instance which always returns s with  the given value as T' s meta-data. nThe n class declares the function q which ? evaluates the predicate against some value, returning a value  of type r. ? Besides being parameterised over predicate type and predicate B parameter, the class is also parameterised over the actual types  of T's and F' s meta-data. rA  -like type where each branch srue or t alse carries * some meta-data which is threaded through n evaluation. s!logical True with some meta-data t"logical False with some meta-data uu. is a measure of distance. It is (optionally) % used in predicates that evaluate to s but not uniquely so, i.e.  different evaluations of s, are possible and they may have a different  "fitness". >An example is content-negotiation. A HTTP request may specify D a preference list of various media-types. A predicate matching one " specific media-type evaluates to s", but other media-types may match H even better. To represent this ambivalence, the predicate will include A a delta value which can be used to decide which of the matching ! predicates should be preferred. vEvaluate the given predicate p against the given value a. wThe w? function will invoke the given function only if the predicate p  applied to the test value a evaluates to s. !abcdefghijklmnopqrstuvw abcdefghijklmnopqrstuvwurtsnopqlmjkhigefcdabvwabcdefghijklmnopqrtsuvw NonexA n against the s "Accept" header. xyZ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWxyxyxyNonezA n against the s " Content-Type" header. z{|[  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWz{||z{z{| Safe-Inferred}The type-class } is used to convert  values to 2 values of other types. Most instances assume the  is  encoded via UTF-8. 1Minimal complete instance definition is given by ~. ~Parse the given $ into a typed value and also return C the unconsumed bytes. In case of error, provide an error message. Parse the given ! into a list of typed values and A return the unconsumed bytes. In case of error, provide an error B message. Instances can use this function to express their way of < reading lists of values. The default implementation parses > comma-separated values (also accepting interspersed spaces). Either turn the given  into a typed value or an error D message. This function also checks, that all input bytes have been  consumed or else it will fail. }~ !"#$%}~}~ }~ !"#$%NoneLike 4, but in case the parameter could not be found, the ? provided default value will be used. ParamDef is provided for 8 convenience and nothing else than Param || Const, e.g.   ParamDef "foo" 0 == Param "foo" h l 0. Like 2, but denoting an optional parameter, i.e. if the J parameter is not present or can not be converted to the target type, the  predicate will still succeed. Specialisation of ! which returns the first request . which could be converted to the target type. 7The most generic request parameter predicate provided. - It will get all request parameter values of  and pass them on to  the conversion function $, which might either yield an error B message or a value. In case of error, an optional default may be J returned instead, if nothing is provided, the error message will be used # when construction the 400 status. request parameter name conversion function (optional) default value &'()*+,- &'()*+,-Nonem  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xyz{| None9The Routes monad is used to add routing declarations via  or  one of , , etc. H Routing declarations can then be turned into the ordinary snap format,  i.e. !MonadSnap m => [(ByteString, m a)] or into strings. Add a route for some .% and path (potentially with variable % captures), and constrained the some n. Specialisation of  for a specific HTTP .. Specialisation of  for a specific HTTP .. Specialisation of  for a specific HTTP .. Specialisation of  for a specific HTTP .. Specialisation of  for a specific HTTP .. Specialisation of  for a specific HTTP .. Specialisation of  for a specific HTTP .. Specialisation of  for a specific HTTP .. Specialisation of  for a specific HTTP . taking  no n into consideration. Specialisation of  for a specific HTTP . taking  no n into consideration. Specialisation of  for a specific HTTP . taking  no n into consideration. Specialisation of  for a specific HTTP . taking  no n into consideration. Specialisation of  for a specific HTTP . taking  no n into consideration. Specialisation of  for a specific HTTP . taking  no n into consideration. Specialisation of  for a specific HTTP . taking  no n into consideration. Specialisation of  for a specific HTTP . taking  no n into consideration. &Turn route definitions into a list of /s. Turn route definitions into "snapable" format, i.e. < Routes are grouped per path and selection evaluates routes  against the given Snap . 0Group routes by path. %123456789:;<=path handler n path handler n path handler n path handler n path handler n path handler n path handler n path handler n path handler n path handler path handler path handler path handler path handler path handler path handler path handler 0>?@123456789:;<=0>?@A  !!""##$$%%&&''(())**++,,--..//001122334455667789:;<=>?@@ABCDEFGHHIIJJKLLMMNNOPQRSTUVWXYYZZ[\]^_``aabbccdef g h i j k l m n o p q r s t u v w x y z { | } ~  7 7 D           g           snap-predicates-0.2.0Snap.Predicates.MediaTypesSnap.Predicates.ErrorData.Predicate.EnvData.PredicateSnap.Predicates.AcceptSnap.Predicates.ContentData.ByteString.ReadableSnap.Predicates.Params Snap.RoutesSnap.Predicates.Parsers.SharedSnap.Predicates.Parsers.AcceptSnap.Predicates.TutorialSnap.Predicates.Internal#Snap.Predicates.MediaTypes.InternalSnap.PredicatesAllXmlXhtmlXmlWebmVorbisThriftTiffTarRssXmlRdfXmlProtobuf PostscriptPngPlainPartialOgg OctetStreamMpegMp4MixedJsonJpeg JavascriptGzipGifFormData EncryptedCsvCssAtomXmlSubTypeVideoText MultipartMessageImageAudio ApplicationType MediaType_type_subtype_quality_paramsMSubType toSubTypeMTypetoTypeError_status_messageerrEnvemptylookupinsert:&::*::||::+::|:FailConst PredicateFValTValapplyBooleanTFDeltaevalwithAccept ContentTypeContentReadablereadByteStringreadByteStringListfromByteStringParamDefParamOptParam Parameter_name_read_defaultRoutesaddRoutegetheadpostputdeletetraceoptionsconnectget_head_post_put_delete_trace_options_connect_ showRoutes expandRoutesspacestrimoneofchrwmedType medSubtype medQuality medParamsparseMediaTypes mediaTypes mediaTypeparamstypsubtypkeyvaltoDoubleheaderssafeHeadbytestring-0.10.0.2Data.ByteString.Internal ByteString $fShowAll $fMSubTypeAll $fMTypeAll $fShowXml $fMSubTypeXml$fShowXhtmlXml$fMSubTypeXhtmlXml $fShowWebm$fMSubTypeWebm $fShowVorbis$fMSubTypeVorbis $fShowThrift$fMSubTypeThrift $fShowTiff$fMSubTypeTiff $fShowTar $fMSubTypeTar $fShowRssXml$fMSubTypeRssXml $fShowRdfXml$fMSubTypeRdfXml$fShowProtobuf$fMSubTypeProtobuf$fShowPostscript$fMSubTypePostscript $fShowPng $fMSubTypePng $fShowPlain$fMSubTypePlain $fShowPartial$fMSubTypePartial $fShowOgg $fMSubTypeOgg$fShowOctetStream$fMSubTypeOctetStream $fShowMpeg$fMSubTypeMpeg $fShowMp4 $fMSubTypeMp4 $fShowMixed$fMSubTypeMixed $fShowJson$fMSubTypeJson $fShowJpeg$fMSubTypeJpeg$fShowJavascript$fMSubTypeJavascript $fShowGzip$fMSubTypeGzip $fShowGif $fMSubTypeGif$fShowFormData$fMSubTypeFormData$fShowEncrypted$fMSubTypeEncrypted $fShowCsv $fMSubTypeCsv $fShowCss $fMSubTypeCss $fShowAtomXml$fMSubTypeAtomXml $fShowSubType$fMSubTypeSubType $fShowVideo $fMTypeVideo $fShowText $fMTypeText$fShowMultipart$fMTypeMultipart $fShowMessage$fMTypeMessage $fShowImage $fMTypeImage $fShowAudio $fMTypeAudio$fShowApplication$fMTypeApplication $fShowType $fMTypeTypebase Data.DynamicDynamic_unenvreadMediaTypesghc-prim GHC.TypesBool $fShow:&:$fPredicate:&:c $fShow:||:$fPredicate:||:c $fShow:|:$fPredicate:|:c $fShowFail$fPredicateFaila $fShowConst$fPredicateConstasnap-core-0.9.3.1Snap.Internal.Http.TypesRequest $fShowAccept$fPredicateAcceptRequest$fShowContentType$fPredicateContentTypeRequest parseListmapLeftparse $fReadableInt$fReadableDouble$fReadableChar$fReadableText$fReadableByteString $fReadable[]$fReadableMaybe$fShowParamDef$fPredicateParamDefRequest$fShowParamOpt$fPredicateParamOptRequest $fShowParam$fPredicateParamRequest$fShowParameter$fPredicateParameterRequestMethodGHC.BaseString normaliseHandler_delta_handler _unroutesRoute_method_path_predPackselectrespond $fMonadRoutes