-- 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.4.1

module Network.Protocol.HTTP.DAV
type DAVState m a = StateT (DAVContext m) (ResourceT m) a
data DAVContext a
DAVContext :: [ByteString] -> Request a -> [ByteString] -> Manager -> Maybe ByteString -> ByteString -> ByteString -> Maybe Depth -> DAVContext a
_allowedMethods :: DAVContext a -> [ByteString]
_baseRequest :: DAVContext a -> Request a
_complianceClasses :: DAVContext a -> [ByteString]
_httpManager :: DAVContext a -> Manager
_lockToken :: DAVContext a -> Maybe ByteString
_basicusername :: DAVContext a -> ByteString
_basicpassword :: DAVContext a -> ByteString
_depth :: DAVContext a -> Maybe Depth
getProps :: String -> ByteString -> ByteString -> Maybe Depth -> IO Document
getPropsAndContent :: String -> ByteString -> ByteString -> IO (Document, (Maybe ByteString, ByteString))
putContentAndProps :: String -> ByteString -> ByteString -> (Document, (Maybe ByteString, ByteString)) -> IO ()
putContent :: String -> ByteString -> ByteString -> (Maybe ByteString, ByteString) -> IO ()
deleteContent :: String -> ByteString -> ByteString -> IO ()
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.)
makeCollection :: String -> ByteString -> ByteString -> IO Bool
caldavReport :: String -> ByteString -> ByteString -> IO Document
data Depth
Depth0 :: Depth
Depth1 :: Depth
DepthInfinity :: Depth
data DAVContext a
DAVContext :: [ByteString] -> Request a -> [ByteString] -> Manager -> Maybe ByteString -> ByteString -> ByteString -> Maybe Depth -> DAVContext a
_allowedMethods :: DAVContext a -> [ByteString]
_baseRequest :: DAVContext a -> Request a
_complianceClasses :: DAVContext a -> [ByteString]
_httpManager :: DAVContext a -> Manager
_lockToken :: DAVContext a -> Maybe ByteString
_basicusername :: DAVContext a -> ByteString
_basicpassword :: DAVContext a -> ByteString
_depth :: DAVContext a -> Maybe Depth
lockToken :: Lens' (DAVContext a_a7PJ) (Maybe ByteString)
httpManager :: Lens' (DAVContext a_a7PJ) Manager
depth :: Lens' (DAVContext a_a7PJ) (Maybe Depth)
complianceClasses :: Lens' (DAVContext a_a7PJ) [ByteString]
basicusername :: Lens' (DAVContext a_a7PJ) ByteString
basicpassword :: Lens' (DAVContext a_a7PJ) ByteString
baseRequest :: Lens (DAVContext a_a7PJ) (DAVContext a_a8Dn) (Request a_a7PJ) (Request a_a8Dn)
allowedMethods :: Lens' (DAVContext a_a7PJ) [ByteString]
