apiary-0.5.1.0: Simple web framework inspired by scotty.

Safe HaskellNone

Control.Monad.Apiary.Filter

Contents

Synopsis

filters

http method

method :: Monad m => Method -> ApiaryT c m a -> ApiaryT c m aSource

stdMethod :: Monad m => StdMethod -> ApiaryT c m a -> ApiaryT c m aSource

http version

httpVersion :: Monad m => HttpVersion -> ApiaryT c m b -> ApiaryT c m bSource

http version filter. since 0.5.0.0.

http09 :: Monad m => ApiaryT c m b -> ApiaryT c m bSource

http/0.9 only accepted fiter. since 0.5.0.0.

http10 :: Monad m => ApiaryT c m b -> ApiaryT c m bSource

http/1.0 only accepted fiter. since 0.5.0.0.

http11 :: Monad m => ApiaryT c m b -> ApiaryT c m bSource

http/1.1 only accepted fiter. since 0.5.0.0.

path matcher

root :: Monad m => ApiaryT c m b -> ApiaryT c m bSource

filter by rootPattern of ApiaryConfig.

query matcher

query :: (Query a, Strategy w, Monad m) => ByteString -> Proxy (w a) -> ApiaryT (SNext w as a) m b -> ApiaryT as m bSource

low level query getter. since 0.5.0.0.

 query key (Proxy :: Proxy (fetcher type))

examples:

 query key (Proxy :: Proxy (First Int)) -- get first 'key' query parameter as Int.
 query key (Proxy :: Proxy (Option (Maybe Int)) -- get first 'key' query parameter as Int. allow without param or value.
 query key (Proxy :: Proxy (Many String) -- get all 'key' query parameter as String.

pFirst :: Proxy a -> Proxy (First a)Source

construct First proxy. since 0.5.1.0.

pOne :: Proxy a -> Proxy (One a)Source

construct One proxy. since 0.5.1.0.

pOption :: Proxy a -> Proxy (Option a)Source

construct Option proxy. since 0.5.1.0.

pCheck :: Proxy a -> Proxy (Check a)Source

construct Check proxy. since 0.5.1.0.

pMany :: Proxy a -> Proxy (Many a)Source

construct Many proxy. since 0.5.1.0.

pSome :: Proxy a -> Proxy (Some a)Source

construct Some proxy. since 0.5.1.0.

specified operators

(=:) :: (Query a, Monad m) => ByteString -> Proxy a -> ApiaryT (Snoc as a) m b -> ApiaryT as m bSource

get first matched paramerer. since 0.5.0.0.

 key =: pInt == query key (pFirst pInt) == query key (Proxy :: Proxy (First Int))

(=!:) :: (Query a, Monad m) => ByteString -> Proxy a -> ApiaryT (Snoc as a) m b -> ApiaryT as m bSource

get one matched paramerer. since 0.5.0.0.

when more one parameger given, not matched.

 key =: pInt == query key (pOne pInt) == query key (Proxy :: Proxy (One Int))

(=?:) :: (Query a, Monad m) => ByteString -> Proxy a -> ApiaryT (Snoc as (Maybe a)) m b -> ApiaryT as m bSource

get optional first paramerer. since 0.5.0.0.

when illegal type parameter given, fail mather(don't give Nothing).

 key =: pInt == query key (pOption pInt) == query key (Proxy :: Proxy (Option Int))

(?:) :: (Query a, Monad m) => ByteString -> Proxy a -> ApiaryT as m b -> ApiaryT as m bSource

check parameger given and type. since 0.5.0.0.

If you wan't to allow any type, give pVoid.

 key =: pInt == query key (pCheck pInt) == query key (Proxy :: Proxy (Check Int))

(=*:) :: (Query a, Monad m) => ByteString -> Proxy a -> ApiaryT (Snoc as [a]) m b -> ApiaryT as m bSource

get many paramerer. since 0.5.0.0.

 key =: pInt == query key (pMany pInt) == query key (Proxy :: Proxy (Many Int))

(=+:) :: (Query a, Monad m) => ByteString -> Proxy a -> ApiaryT (Snoc as [a]) m b -> ApiaryT as m bSource

get some paramerer. since 0.5.0.0.

 key =: pInt == query key (pSome pInt) == query key (Proxy :: Proxy (Some Int))

hasQuery :: Monad m => ByteString -> ApiaryT c m a -> ApiaryT c m aSource

query exists checker.

 hasQuery q = query q (Proxy :: Proxy (Check ()))

other

ssl :: Monad m => ApiaryT c m a -> ApiaryT c m aSource

Reexport

deprecated

queryAllSource

Arguments

:: Monad m 
=> ByteString 
-> ApiaryT (Snoc as [Maybe ByteString]) m b

Nothing == no value paramator.

-> ApiaryT as m b 

Deprecated: use query related filters

filter by query parameter. since 0.4.0.0.

queryAll' :: Monad m => ByteString -> ApiaryT (Snoc as [ByteString]) m b -> ApiaryT as m bSource

Deprecated: use query related filters

filter by query parameter. since 0.4.0.0.

querySome :: Monad m => ByteString -> ApiaryT (Snoc as [Maybe ByteString]) m b -> ApiaryT as m bSource

Deprecated: use query related filters

filter [1,) parameters by query parameter allows empty value. since 0.4.3.0.

querySome' :: Monad m => ByteString -> ApiaryT (Snoc as [ByteString]) m b -> ApiaryT as m bSource

Deprecated: use query related filters

filter [1,) parameters by query parameter not allows empty value. since 0.4.3.0.

queryFirst :: Monad m => ByteString -> ApiaryT (Snoc as (Maybe ByteString)) m b -> ApiaryT as m bSource

Deprecated: use query related filters

filter by query parameter. allow empty value. since 0.4.0.0.

queryFirst' :: Monad m => ByteString -> ApiaryT (Snoc as ByteString) m b -> ApiaryT as m bSource

Deprecated: use query related filters

filter by query parameter. not allow empty value. since 0.4.0.0.

queryMany :: Monad m => ByteString -> ApiaryT (Snoc as [Maybe ByteString]) m b -> ApiaryT as m bSource

Deprecated: use query related filters

get [0,) parameters by query parameter allows empty value. since 0.4.3.0.

queryMany' :: Monad m => ByteString -> ApiaryT (Snoc as [ByteString]) m b -> ApiaryT as m bSource

Deprecated: use query related filters

get [0,) parameters by query parameter not allows empty value. since 0.4.3.0.

maybeQueryFirst :: Monad m => ByteString -> ApiaryT (Snoc as (Maybe (Maybe ByteString))) m b -> ApiaryT as m bSource

Deprecated: use query related filters

get first query parameter allow empty value. since 0.4.3.0,

maybeQueryFirst' :: Monad m => ByteString -> ApiaryT (Snoc as (Maybe ByteString)) m b -> ApiaryT as m bSource

Deprecated: use query related filters

get first query parameter not allow empty value. since 0.4.3.0,