-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A library for crawling exhentai -- -- A library for crawling exhentai, with the support of streaming @package exh @version 0.2.0 module Web.Exhentai.Errors data ExhentaiError JSONParseFailure :: String -> ExhentaiError XMLParseFailure :: Text -> Text -> ExhentaiError [$sel:reason:JSONParseFailure] :: ExhentaiError -> Text [$sel:url:JSONParseFailure] :: ExhentaiError -> Text ExtractionFailure :: String -> ExhentaiError instance GHC.Exception.Type.Exception Web.Exhentai.Errors.ExhentaiError instance GHC.Generics.Generic Web.Exhentai.Errors.ExhentaiError instance GHC.Classes.Eq Web.Exhentai.Errors.ExhentaiError instance GHC.Show.Show Web.Exhentai.Errors.ExhentaiError module Web.Exhentai.Types type Parser = Parsec Void Text data GalleryCat Misc :: GalleryCat Doujinshi :: GalleryCat Manga :: GalleryCat ArtistCG :: GalleryCat GameCG :: GalleryCat ImageSet :: GalleryCat Cosplay :: GalleryCat AsianPorn :: GalleryCat NonH :: GalleryCat Western :: GalleryCat Private :: GalleryCat allGalleryCats :: Set GalleryCat toBitField :: Set GalleryCat -> Int showCat :: GalleryCat -> Text readCat :: Text -> Maybe GalleryCat _GalleryCat :: Prism' Text GalleryCat newtype PopUpLink PopUpLink :: Text -> PopUpLink [$sel:unLink:PopUpLink] :: PopUpLink -> Text _PopUpLink :: Prism' Text PopUpLink parsePopUpLink :: Text -> Maybe PopUpLink newtype AverageRating AverageRating :: Float -> AverageRating [$sel:unRating:AverageRating] :: AverageRating -> Float _AverageRating :: Prism' Text AverageRating parseAverageRating :: Text -> Maybe AverageRating newtype GalleryLength GalleryLength :: Int -> GalleryLength [$sel:unGalleryLength:GalleryLength] :: GalleryLength -> Int _GalleryLength :: Prism' Text GalleryLength parseGalleryLength :: Text -> Maybe GalleryLength newtype FavoriteCount FavoriteCount :: Int -> FavoriteCount [$sel:unFavoriteCount:FavoriteCount] :: FavoriteCount -> Int parseFavoriteCount :: Text -> Maybe FavoriteCount data Gallery Gallery :: {-# UNPACK #-} !Int -> {-# UNPACK #-} !Text -> Gallery [$sel:galleryId:Gallery] :: Gallery -> {-# UNPACK #-} !Int [$sel:token:Gallery] :: Gallery -> {-# UNPACK #-} !Text _GalleryLink :: Prism' Text Gallery toGalleryLink :: Gallery -> Text toMpvLink :: Gallery -> Text parseGalleryLink :: Text -> Maybe Gallery parsePreviewLink :: Text -> Maybe Text instance GHC.Enum.Bounded Web.Exhentai.Types.GalleryCat instance GHC.Enum.Enum Web.Exhentai.Types.GalleryCat instance GHC.Classes.Ord Web.Exhentai.Types.GalleryCat instance GHC.Classes.Eq Web.Exhentai.Types.GalleryCat instance GHC.Show.Show Web.Exhentai.Types.GalleryCat instance GHC.Classes.Eq Web.Exhentai.Types.PopUpLink instance GHC.Show.Show Web.Exhentai.Types.PopUpLink instance GHC.Classes.Eq Web.Exhentai.Types.AverageRating instance GHC.Show.Show Web.Exhentai.Types.AverageRating instance GHC.Classes.Eq Web.Exhentai.Types.GalleryLength instance GHC.Show.Show Web.Exhentai.Types.GalleryLength instance GHC.Classes.Eq Web.Exhentai.Types.FavoriteCount instance GHC.Show.Show Web.Exhentai.Types.FavoriteCount instance GHC.Generics.Generic Web.Exhentai.Types.Gallery instance GHC.Classes.Eq Web.Exhentai.Types.Gallery instance GHC.Show.Show Web.Exhentai.Types.Gallery module Web.Exhentai.Types.CookieT newtype Policy Policy :: RetryPolicy -> Policy class (Monad m, MonadCatch m, MonadThrow m) => MonadHttp m getRetryPolicy :: MonadHttp m => m Policy formRequest :: MonadHttp m => String -> m Request attachFormData :: MonadHttp m => [Part] -> Request -> m Request respOpen :: (MonadHttp m, MonadIO n) => Request -> m (Response (ConduitT i ByteString n ())) respClose :: MonadHttp m => Response body -> m () reqNoBody :: MonadHttp m => Request -> m (Response ()) class (MonadMask m, MonadTime m, MonadHttp m, MonadIO m) => MonadHttpState m takeCookieJar :: MonadHttpState m => m CookieJar readCookieJar :: MonadHttpState m => m CookieJar putCookieJar :: MonadHttpState m => CookieJar -> m () modifyingJar :: MonadHttpState m => Request -> m () openWithJar :: (MonadHttpState m, MonadIO n) => Request -> m (Response (ConduitT i ByteString n ())) withJar :: (MonadHttpState m, MonadIO n) => Request -> (ConduitT i ByteString n () -> m a) -> m a data CookieEnv CookieEnv :: Policy -> MVar CookieJar -> {-# UNPACK #-} !Manager -> CookieEnv [$sel:policy:CookieEnv] :: CookieEnv -> Policy [$sel:jarRef:CookieEnv] :: CookieEnv -> MVar CookieJar [$sel:manager:CookieEnv] :: CookieEnv -> {-# UNPACK #-} !Manager newtype CookieT m a CookieT :: ReaderT CookieEnv m a -> CookieT m a [$sel:unCookieT:CookieT] :: CookieT m a -> ReaderT CookieEnv m a runCookieT :: MonadIO m => RetryPolicy -> CookieT m a -> m a retryWhenTimeout :: MonadHttpState m => m a -> m a instance GHC.Generics.Generic Web.Exhentai.Types.CookieT.CookieEnv instance Control.Monad.Time.MonadTime m => Control.Monad.Time.MonadTime (Web.Exhentai.Types.CookieT.CookieT m) instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Web.Exhentai.Types.CookieT.CookieT m) instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Web.Exhentai.Types.CookieT.CookieT m) instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Web.Exhentai.Types.CookieT.CookieT m) instance Control.Monad.IO.Unlift.MonadUnliftIO m => Control.Monad.IO.Unlift.MonadUnliftIO (Web.Exhentai.Types.CookieT.CookieT m) instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Web.Exhentai.Types.CookieT.CookieT m) instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Web.Exhentai.Types.CookieT.CookieT m) instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Web.Exhentai.Types.CookieT.CookieT m) instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Web.Exhentai.Types.CookieT.CookieT m) instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Web.Exhentai.Types.CookieT.CookieT m) instance GHC.Base.Monad m => Control.Monad.Reader.Class.MonadReader Web.Exhentai.Types.CookieT.CookieEnv (Web.Exhentai.Types.CookieT.CookieT m) instance GHC.Base.Monad m => GHC.Base.Monad (Web.Exhentai.Types.CookieT.CookieT m) instance GHC.Base.Applicative m => GHC.Base.Applicative (Web.Exhentai.Types.CookieT.CookieT m) instance GHC.Base.Functor m => GHC.Base.Functor (Web.Exhentai.Types.CookieT.CookieT m) instance Control.Monad.Trans.Class.MonadTrans Web.Exhentai.Types.CookieT.CookieT instance (Control.Monad.IO.Class.MonadIO m, Control.Monad.IO.Unlift.MonadUnliftIO m, Control.Monad.Catch.MonadCatch m, Control.Monad.Catch.MonadThrow m) => Web.Exhentai.Types.CookieT.MonadHttp (Web.Exhentai.Types.CookieT.CookieT m) instance (Control.Monad.Catch.MonadMask m, Control.Monad.IO.Unlift.MonadUnliftIO m, Control.Monad.Time.MonadTime m) => Web.Exhentai.Types.CookieT.MonadHttpState (Web.Exhentai.Types.CookieT.CookieT m) instance Network.HTTP.Client.Types.HasHttpManager Web.Exhentai.Types.CookieT.CookieEnv instance (Web.Exhentai.Types.CookieT.MonadHttpState m, Control.Monad.Trans.Class.MonadTrans f, Control.Monad.Catch.MonadMask (f m), Control.Monad.Time.MonadTime (f m), Web.Exhentai.Types.CookieT.MonadHttp (f m), Control.Monad.IO.Class.MonadIO (f m)) => Web.Exhentai.Types.CookieT.MonadHttpState (f m) instance (Web.Exhentai.Types.CookieT.MonadHttp m, Control.Monad.Trans.Class.MonadTrans f, GHC.Base.Monad (f m), Control.Monad.Catch.MonadCatch (f m), Control.Monad.Catch.MonadThrow (f m)) => Web.Exhentai.Types.CookieT.MonadHttp (f m) module Web.Exhentai.API.Auth data Credential Credential :: ByteString -> ByteString -> Credential [$sel:username:Credential] :: Credential -> ByteString [$sel:password:Credential] :: Credential -> ByteString -- | Authenticates and loads user preferences. This should be called before -- any other functions are called auth :: MonadHttpState m => Credential -> m () instance GHC.Generics.Generic Web.Exhentai.API.Auth.Credential instance GHC.Classes.Eq Web.Exhentai.API.Auth.Credential instance GHC.Show.Show Web.Exhentai.API.Auth.Credential module Web.Exhentai.Utils attributeSatisfies' :: Name -> (Maybe Text -> Bool) -> Traversal' Element Element withoutAttribute :: Name -> Traversal' Element Element lower :: Traversal' Element Node body :: Traversal' Document Element div :: Traversal' Element Element h1 :: Traversal' Element Element a :: Traversal' Element Element table :: Traversal' Element Element tr :: Traversal' Element Element td :: Traversal' Element Element img :: Traversal' Element Element cl :: Text -> Traversal' Element Element id :: Text -> Traversal' Element Element viaShowRead :: (Show a, Read a) => Prism' Text a scripts :: Traversal' Element Element (^?:) :: Document -> Fold Element a -> Maybe a infixl 8 ^?: (^..:) :: Document -> Fold Element a -> [a] infixl 8 ^..: sinkAeson :: (FromJSON a, Monad m) => ConduitT ByteString o m (Either String a) jsonRequest :: (FromJSON a, MonadHttpState m) => Request -> m (Either String a) htmlRequest :: MonadHttpState m => Request -> m Document htmlRequest' :: MonadHttpState m => Text -> m Document parseUploadTime :: Text -> Maybe UTCTime annotate :: ann -> Maybe a -> Either ann a module Web.Exhentai.Parsing.Search pages :: Traversal' Element Int pagesElem :: Traversal' Element Element linkOf :: Traversal' Element Text galleryPreviewElement :: Traversal' Element Element previewImage :: Traversal' Element Text title :: Traversal' Element Text galleryLink :: Traversal' Element Gallery galleryLength :: Traversal' Element GalleryLength module Web.Exhentai.Parsing.MPV allScripts :: Traversal' Document Text data MpvImage MpvImage :: {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> MpvImage [$sel:name:MpvImage] :: MpvImage -> {-# UNPACK #-}Text [$sel:key:MpvImage] :: MpvImage -> {-# UNPACK #-}Text [$sel:thumbnail:MpvImage] :: MpvImage -> {-# UNPACK #-}Text -- | All the variables defined in the scripts that came with the MPV data Vars Vars :: {-# UNPACK #-}Int -> {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> {-# UNPACK #-}Int -> [MpvImage] -> Vars [$sel:gid:Vars] :: Vars -> {-# UNPACK #-}Int [$sel:mpvkey:Vars] :: Vars -> {-# UNPACK #-}Text [$sel:apiUrl:Vars] :: Vars -> {-# UNPACK #-}Text [$sel:pageCount:Vars] :: Vars -> {-# UNPACK #-}Int [$sel:imageList:Vars] :: Vars -> [MpvImage] extractEnv :: Text -> IO (Result Vars) instance GHC.Generics.Generic Web.Exhentai.Parsing.MPV.MpvImage instance GHC.Classes.Eq Web.Exhentai.Parsing.MPV.MpvImage instance GHC.Show.Show Web.Exhentai.Parsing.MPV.MpvImage instance GHC.Generics.Generic Web.Exhentai.Parsing.MPV.Vars instance GHC.Classes.Eq Web.Exhentai.Parsing.MPV.Vars instance GHC.Show.Show Web.Exhentai.Parsing.MPV.Vars instance Data.Aeson.Types.FromJSON.FromJSON Web.Exhentai.Parsing.MPV.MpvImage module Web.Exhentai.Parsing.Image imageSrc :: Traversal' Element Text nextPage :: Traversal' Element Text module Web.Exhentai.Parsing.Gallery data TagCategory Language :: TagCategory Parody :: TagCategory Character :: TagCategory Group :: TagCategory Artist :: TagCategory Male :: TagCategory Female :: TagCategory Misc :: TagCategory Reclass :: TagCategory readTagCat :: Text -> Maybe TagCategory _TagCategory :: Prism' Text TagCategory meta :: Traversal' Element Element title :: Traversal' Element Element enTitle :: Traversal' Element Text jaTitle :: Traversal' Element Text mainMeta :: Traversal' Element Element mainMetaL :: Traversal' Element Element mainMetaM :: Traversal' Element Element mainMetaR :: Traversal' Element Element previewStr :: Traversal' Element Text category :: Traversal' Element GalleryCat uploader :: Traversal' Element Text metaPath :: Traversal' Element Element metaKeys :: Traversal' Element Text metaValues :: Traversal' Element Element parent :: Traversal' Element Gallery ratingCount :: Traversal' Element Int averageRating :: Traversal' Element AverageRating tagList :: Traversal' Element Element tagCategory :: Traversal' Element TagCategory tagsByCategory :: Traversal' Element Element tags :: Traversal' Element Text popupLink :: Traversal' Element PopUpLink imagePages :: Traversal' Element Text newer :: Traversal' Element Gallery instance GHC.Generics.Generic Web.Exhentai.Parsing.Gallery.TagCategory instance GHC.Enum.Enum Web.Exhentai.Parsing.Gallery.TagCategory instance GHC.Classes.Eq Web.Exhentai.Parsing.Gallery.TagCategory instance GHC.Show.Show Web.Exhentai.Parsing.Gallery.TagCategory module Web.Exhentai.API.Watched -- | Fetch the list of watched galleries fetchWatched :: MonadHttpState m => m [Gallery] -- | Fetch the list of popular galleries fetchPopular :: MonadHttpState m => m [Gallery] module Web.Exhentai.API.Search data SearchQuery SearchQuery :: Maybe (Set GalleryCat) -> {-# UNPACK #-}Text -> SearchQuery [$sel:categories:SearchQuery] :: SearchQuery -> Maybe (Set GalleryCat) [$sel:searchString:SearchQuery] :: SearchQuery -> {-# UNPACK #-}Text data SearchResult SearchResult :: [Gallery] -> Maybe Text -> Maybe Text -> SearchResult [$sel:galleries:SearchResult] :: SearchResult -> [Gallery] [$sel:prevPage:SearchResult] :: SearchResult -> Maybe Text [$sel:nextPage:SearchResult] :: SearchResult -> Maybe Text -- | Search a search query search :: MonadHttpState m => SearchQuery -> m SearchResult -- | Iterate through all the Galleries asosciated with a search query, -- putting them into a stream searchRecur :: MonadHttpState m => SearchQuery -> ConduitT i Gallery m () -- | A resumable version of searchRecur that reports it's progress. searchRecurResumable :: MonadHttpState m => SearchQuery -> ConduitT i (Either Text Gallery) m () searchRecurResumable' :: MonadHttpState m => Text -> ConduitT i (Either Text Gallery) m () -- | Fetch a search page using its url fetchSearchPage :: MonadHttpState m => Text -> m SearchResult -- | Fetch a search page using a Request fetchSearchPage' :: MonadHttpState m => Request -> m SearchResult instance GHC.Generics.Generic Web.Exhentai.API.Search.SearchQuery instance GHC.Classes.Eq Web.Exhentai.API.Search.SearchQuery instance GHC.Show.Show Web.Exhentai.API.Search.SearchQuery instance GHC.Generics.Generic Web.Exhentai.API.Search.SearchResult instance GHC.Classes.Eq Web.Exhentai.API.Search.SearchResult instance GHC.Show.Show Web.Exhentai.API.Search.SearchResult module Web.Exhentai.API.MPV data DispatchRequest DispatchRequest :: Int -> Int -> Text -> Text -> Maybe Server -> DispatchRequest [$sel:galleryId:DispatchRequest] :: DispatchRequest -> Int [$sel:page:DispatchRequest] :: DispatchRequest -> Int [$sel:imgKey:DispatchRequest] :: DispatchRequest -> Text [$sel:mpvKey:DispatchRequest] :: DispatchRequest -> Text [$sel:exclude:DispatchRequest] :: DispatchRequest -> Maybe Server data DispatchResult DispatchResult :: Text -> Text -> Text -> Text -> Dim -> Dim -> Text -> Server -> DispatchResult -- | A piece of text describing the dimensions and the size of this image [$sel:dimension:DispatchResult] :: DispatchResult -> Text -- | The path part of the url pointing to the original image [$sel:origImgPath:DispatchResult] :: DispatchResult -> Text -- | The path part of the url that searches for the gallery containing this -- image [$sel:searchPath:DispatchResult] :: DispatchResult -> Text -- | The path part of the non-mpv page that displays this image [$sel:galleryPath:DispatchResult] :: DispatchResult -> Text [$sel:width:DispatchResult] :: DispatchResult -> Dim [$sel:height:DispatchResult] :: DispatchResult -> Dim -- | The full url to this image [$sel:imgLink:DispatchResult] :: DispatchResult -> Text -- | The server that serves this image [$sel:server:DispatchResult] :: DispatchResult -> Server -- | All the variables defined in the scripts that came with the MPV data Vars Vars :: {-# UNPACK #-}Int -> {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> {-# UNPACK #-}Int -> [MpvImage] -> Vars [$sel:gid:Vars] :: Vars -> {-# UNPACK #-}Int [$sel:mpvkey:Vars] :: Vars -> {-# UNPACK #-}Text [$sel:apiUrl:Vars] :: Vars -> {-# UNPACK #-}Text [$sel:pageCount:Vars] :: Vars -> {-# UNPACK #-}Int [$sel:imageList:Vars] :: Vars -> [MpvImage] data Server HAtH :: Int -> Server Other :: Text -> Server newtype Dim Dim :: Int -> Dim -- | Fetch the Vars from a Gallery's mpv page fetchMpv :: (MonadHttpState m, MonadIO m) => Gallery -> m Vars -- | Generate a list of requests from a Vars toRequests :: Vars -> [DispatchRequest] -- | Calls the API to dispatch a image request to a H@H server imageDispatch :: MonadHttpState m => DispatchRequest -> m DispatchResult -- | Fetch an image with a DispatchRequest fetchImage :: (MonadHttpState m, MonadIO n) => DispatchRequest -> ContT r m (Response (ConduitT i ByteString n ())) -- | Like fetchImage, but the user is responsible of closing the -- response fetchImage' :: (MonadHttpState m, MonadIO n) => DispatchRequest -> m (Response (ConduitT i ByteString n ())) instance GHC.Generics.Generic Web.Exhentai.API.MPV.Server instance GHC.Classes.Eq Web.Exhentai.API.MPV.Server instance GHC.Show.Show Web.Exhentai.API.MPV.Server instance GHC.Classes.Eq Web.Exhentai.API.MPV.Dim instance GHC.Show.Show Web.Exhentai.API.MPV.Dim instance GHC.Generics.Generic Web.Exhentai.API.MPV.DispatchResult instance GHC.Classes.Eq Web.Exhentai.API.MPV.DispatchResult instance GHC.Show.Show Web.Exhentai.API.MPV.DispatchResult instance GHC.Generics.Generic Web.Exhentai.API.MPV.DispatchRequest instance GHC.Classes.Eq Web.Exhentai.API.MPV.DispatchRequest instance GHC.Show.Show Web.Exhentai.API.MPV.DispatchRequest instance Data.Aeson.Types.ToJSON.ToJSON Web.Exhentai.API.MPV.DispatchRequest instance Data.Aeson.Types.FromJSON.FromJSON Web.Exhentai.API.MPV.DispatchResult instance Data.Aeson.Types.FromJSON.FromJSON Web.Exhentai.API.MPV.Dim instance Data.Aeson.Types.FromJSON.FromJSON Web.Exhentai.API.MPV.Server instance Data.Aeson.Types.ToJSON.ToJSON Web.Exhentai.API.MPV.Server module Web.Exhentai.API.Gallery -- | Information about a gallery data GalleryInfo GalleryInfo :: {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> GalleryCat -> Maybe Text -> {-# UNPACK #-}Text -> {-# UNPACK #-}Float -> {-# UNPACK #-}Int -> {-# UNPACK #-}Int -> [(TagCategory, [Text])] -> {-# UNPACK #-}UTCTime -> Maybe Gallery -> Maybe Gallery -> Visibility -> {-# UNPACK #-}Text -> {-# UNPACK #-}Int -> {-# UNPACK #-}Text -> {-# UNPACK #-}Text -> GalleryInfo [$sel:title:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text [$sel:previewLink:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text [$sel:category:GalleryInfo] :: GalleryInfo -> GalleryCat [$sel:jaTitle:GalleryInfo] :: GalleryInfo -> Maybe Text [$sel:uploader:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text [$sel:rating:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Float [$sel:ratingCount:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Int [$sel:favoriteCount:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Int [$sel:tags:GalleryInfo] :: GalleryInfo -> [(TagCategory, [Text])] [$sel:uploadTime:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}UTCTime [$sel:newer:GalleryInfo] :: GalleryInfo -> Maybe Gallery [$sel:parent:GalleryInfo] :: GalleryInfo -> Maybe Gallery [$sel:visibility:GalleryInfo] :: GalleryInfo -> Visibility [$sel:language:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text [$sel:length:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Int [$sel:archiverLink:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text [$sel:torrentLink:GalleryInfo] :: GalleryInfo -> {-# UNPACK #-}Text data Visibility Visible :: Visibility Replaced :: Visibility Expunged :: Visibility Unknown :: {-# UNPACK #-}Text -> Visibility -- | Fetch a gallery's GalleryInfo fetchGalleryInfo :: MonadHttpState m => Gallery -> m GalleryInfo -- | Extract all gallery informations from a document parseGallery :: Document -> Either Text GalleryInfo instance GHC.Generics.Generic Web.Exhentai.API.Gallery.Visibility instance GHC.Classes.Eq Web.Exhentai.API.Gallery.Visibility instance GHC.Show.Show Web.Exhentai.API.Gallery.Visibility instance GHC.Generics.Generic Web.Exhentai.API.Gallery.GalleryInfo instance GHC.Classes.Eq Web.Exhentai.API.Gallery.GalleryInfo instance GHC.Show.Show Web.Exhentai.API.Gallery.GalleryInfo module Web.Exhentai.API.Archiver -- | Download an origian archive from an archiver url as a stream streamOriginal :: (MonadHttpState m, MonadIO n) => Text -> ContT r m (Response (ConduitT i ByteString n ())) -- | Download an resampled archive from an archiver url as a stream streamResampled :: (MonadHttpState m, MonadIO n) => Text -> ContT r m (Response (ConduitT i ByteString n ())) module Web.Exhentai