úÎ!gß@      !"#$%&'()*+,-./0123456789:;<=>?None’   None,=>?@AHMSVX%DAViNote that the entire request body is buffered in memory. To stream large files use withContentM instead.'DAVWNote that the entire request body is buffered in memory; not suitable for large files.(DAVQTo send a large file, pass eg a RequestBodyStream containing the file's content.0DAV­Normally, DAVT actions act on the url that is provided to eg, evalDAVT. Sometimes, it's useful to adjust the url that is acted on, while remaining in the same DAV session.OinLocation temporarily adjusts the url's path, while performing a DAVT action. For example: Äimport System.FilePath.Posix -- posix for url path manipulation mkColRecursive d = do let parent = takeDirectory d when (parent /= d) $ mkColRecursive parent inDAVLocation (</> d) mkCol¨Note that operations that modify the DAVContext (such as setCreds and setCreds) can be run inside davLocation, but will not have any effect on the calling DAVContext.1DAV7Gets the path of the url that DAVT actions will act on.2  !"#$%&'()*+,-./01= !#" -)$%&+*,'(./01   @      !"#$%&'()*+,-./0123456789:;<=>?@ADAV-1.3.4-8XnI7X45dkLMoh3jL5xlCNetwork.Protocol.HTTP.DAVNetwork.Protocol.HTTP.DAV.TH DAVContext_allowedMethods _baseRequest_basicusername_basicpassword_complianceClasses_depth _httpManager _lockToken _userAgentDepthDepth0Depth1 DepthInfinityallowedMethods baseRequest basicpassword basicusernamecomplianceClassesdepth httpManager lockToken userAgentDAVTrunDAVTevalDAVT mkDAVContextcloseDAVContextwithDAVContext runDAVContextsetCredssetDepth setUserAgentsetResponseTimeout getPropsM getContentM withContentM putContentM putContentM' delContentM moveContentMmkCol putPropsM caldavReportMwithLockIfPossiblewithLockIfPossibleForDelete inDAVLocationgetDAVLocation$fDefaultDAVContext$fMonadTransDAVT$fMonadThrowDAVT$fMonadCatchDAVT$fAlternativeDAVT$fApplicativeDAVT $fFunctorDAVT $fMonadDAVT$fMonadBaseDAVT$fMonadErrorDAVT$fMonadFixDAVT $fMonadIODAVT$fMonadPlusDAVT$fMonadStateDAVT