-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | RFC 4918 WebDAV support
--   
--   This is a library for the Web Distributed Authoring and Versioning
--   (WebDAV) extensions to HTTP. At present it supports a very small
--   subset of client functionality.
--   
--   In addition, there is an executable, hdav, which can be used for
--   command-line operation.
@package DAV
@version 0.6.1

module Network.Protocol.HTTP.DAV
newtype DAVT m a
DAVT :: EitherT String (StateT DAVContext m) a -> DAVT m a
runDAVT :: DAVT m a -> EitherT String (StateT DAVContext m) a
evalDAVT :: MonadIO m => String -> DAVT m a -> m (Either String a)
setCreds :: MonadIO m => ByteString -> ByteString -> DAVT m ()
setDepth :: MonadIO m => Maybe Depth -> DAVT m ()
setResponseTimeout :: MonadIO m => Maybe Int -> DAVT m ()
setUserAgent :: MonadIO m => ByteString -> DAVT m ()
data DAVContext
DAVContext :: [ByteString] -> Request -> ByteString -> ByteString -> [ByteString] -> Maybe Depth -> Manager -> Maybe ByteString -> ByteString -> DAVContext
_allowedMethods :: DAVContext -> [ByteString]
_baseRequest :: DAVContext -> Request
_basicusername :: DAVContext -> ByteString
_basicpassword :: DAVContext -> ByteString
_complianceClasses :: DAVContext -> [ByteString]
_depth :: DAVContext -> Maybe Depth
_httpManager :: DAVContext -> Manager
_lockToken :: DAVContext -> Maybe ByteString
_userAgent :: DAVContext -> ByteString

-- | <i>Deprecated: This function will be removed in favor of getPropsM
--   </i>
getProps :: String -> ByteString -> ByteString -> Maybe Depth -> IO Document

-- | <i>Deprecated: This function will be removed in favor of getPropsM and
--   getContentM </i>
getPropsAndContent :: String -> ByteString -> ByteString -> IO (Document, (Maybe ByteString, ByteString))

-- | <i>Deprecated: This function will be removed in favor of putContentM
--   and putPropsM </i>
putContentAndProps :: String -> ByteString -> ByteString -> (Document, (Maybe ByteString, ByteString)) -> IO ()

-- | <i>Deprecated: This function will be removed in favor of putContentM
--   </i>
putContent :: String -> ByteString -> ByteString -> (Maybe ByteString, ByteString) -> IO ()

-- | <i>Deprecated: This function will be removed in favor of delContentM
--   </i>
deleteContent :: String -> ByteString -> ByteString -> IO ()

-- | <i>Deprecated: This function will be removed in favor of moveContentM
--   </i>
moveContent :: String -> ByteString -> ByteString -> ByteString -> IO ()

-- | Creates a WebDAV collection, which is similar to a directory.
--   
--   Returns False if the collection could not be made due to an
--   intermediate collection not existing. (Ie, collection
--   <i>a</i>b<i>c</i>d cannot be made until collection <i>a</i>b/c
--   exists.)

-- | <i>Deprecated: This function will be removed in favor of mkCol </i>
makeCollection :: String -> ByteString -> ByteString -> IO Bool

-- | <i>Deprecated: This function will be removed in favor of caldavReportM
--   </i>
caldavReport :: String -> ByteString -> ByteString -> IO Document
caldavReportM :: MonadIO m => DAVT m Document
delContentM :: MonadIO m => DAVT m ()
getPropsM :: MonadIO m => DAVT m Document
getContentM :: MonadIO m => DAVT m (Maybe ByteString, ByteString)
mkCol :: (MonadIO m, MonadBase IO m, MonadBaseControl IO m) => DAVT m Bool
moveContentM :: MonadIO m => ByteString -> DAVT m ()
putPropsM :: MonadIO m => Document -> DAVT m ()
putContentM :: MonadIO m => (Maybe ByteString, ByteString) -> DAVT m ()
withLockIfPossible :: (MonadIO m, MonadBase IO m, MonadBaseControl IO m) => Bool -> DAVT m a -> DAVT m a
withLockIfPossibleForDelete :: (MonadIO m, MonadBase IO m, MonadBaseControl IO m) => Bool -> DAVT m a -> DAVT m a
data Depth
Depth0 :: Depth
Depth1 :: Depth
DepthInfinity :: Depth
data DAVContext
DAVContext :: [ByteString] -> Request -> ByteString -> ByteString -> [ByteString] -> Maybe Depth -> Manager -> Maybe ByteString -> ByteString -> DAVContext
_allowedMethods :: DAVContext -> [ByteString]
_baseRequest :: DAVContext -> Request
_basicusername :: DAVContext -> ByteString
_basicpassword :: DAVContext -> ByteString
_complianceClasses :: DAVContext -> [ByteString]
_depth :: DAVContext -> Maybe Depth
_httpManager :: DAVContext -> Manager
_lockToken :: DAVContext -> Maybe ByteString
_userAgent :: DAVContext -> ByteString
userAgent :: Lens' DAVContext ByteString
lockToken :: Lens' DAVContext (Maybe ByteString)
httpManager :: Lens' DAVContext Manager
depth :: Lens' DAVContext (Maybe Depth)
complianceClasses :: Lens' DAVContext [ByteString]
basicusername :: Lens' DAVContext ByteString
basicpassword :: Lens' DAVContext ByteString
baseRequest :: Lens' DAVContext Request
allowedMethods :: Lens' DAVContext [ByteString]
instance Monad m => Applicative (DAVT m)
instance Monad m => Functor (DAVT m)
instance Monad m => Monad (DAVT m)
instance MonadBase b m => MonadBase b (DAVT m)
instance Monad m => MonadError String (DAVT m)
instance MonadFix m => MonadFix (DAVT m)
instance MonadIO m => MonadIO (DAVT m)
instance Monad m => MonadPlus (DAVT m)
instance Monad m => MonadState DAVContext (DAVT m)
instance MonadTrans DAVT
instance MonadBaseControl b m => MonadBaseControl b (DAVT m)
