Documentation
¶
Overview ¶
Package api has type definitions for webdav
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Error ¶
type Error struct {
Exception string `xml:"exception,omitempty"`
Message string `xml:"message,omitempty"`
Status string
StatusCode int
}
Error is used to describe webdav errors
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAV\Exception\NotFound</s:exception> <s:message>File with name Photo could not be located</s:message>
</d:error>
type Multistatus ¶
type Multistatus struct {
Responses []Response `xml:"response"`
}
Multistatus contains responses returned from an HTTP 207 return code
type Prop ¶
type Prop struct {
Status []string `xml:"DAV: status"`
Name string `xml:"DAV: prop>displayname,omitempty"`
Type *xml.Name `xml:"DAV: prop>resourcetype>collection,omitempty"`
IsCollection *string `xml:"DAV: prop>iscollection,omitempty"` // this is a Microsoft extension see #2716
Size int64 `xml:"DAV: prop>getcontentlength,omitempty"`
Modified Time `xml:"DAV: prop>getlastmodified,omitempty"`
Checksums []string `xml:"prop>checksums>checksum,omitempty"`
}
Prop is the properties of a response
This is a lazy way of decoding the multiple <s:propstat> in the response.
The response might look like this ¶
<d:response>
<d:href>/remote.php/webdav/Nextcloud%20Manual.pdf</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Tue, 19 Dec 2017 22:02:36 GMT</d:getlastmodified>
<d:getcontentlength>4143665</d:getcontentlength>
<d:resourcetype/>
<d:getetag>"048d7be4437ff7deeae94db50ff3e209"</d:getetag>
<d:getcontenttype>application/pdf</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
<d:propstat>
<d:prop>
<d:quota-used-bytes/>
<d:quota-available-bytes/>
</d:prop>
<d:status>HTTP/1.1 404 Not Found</d:status>
</d:propstat>
</d:response>
So we elide the array of <d:propstat> and within that the array of <d:prop> into one struct.
Note that status collects all the status values for which we just check the first is OK.
type Quota ¶
type Quota struct {
Available string `xml:"DAV: response>propstat>prop>quota-available-bytes"`
Used string `xml:"DAV: response>propstat>prop>quota-used-bytes"`
}
Quota is used to read the bytes used and available
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns">
<d:response> <d:href>/remote.php/webdav/</d:href> <d:propstat> <d:prop> <d:quota-available-bytes>-3</d:quota-available-bytes> <d:quota-used-bytes>376461895</d:quota-used-bytes> </d:prop> <d:status>HTTP/1.1 200 OK</d:status> </d:propstat> </d:response>
</d:multistatus>
type Time ¶
Time represents date and time information for the webdav API marshalling to and from timeFormat
func (*Time) MarshalXML ¶
MarshalXML turns a Time into XML
func (*Time) UnmarshalXML ¶
UnmarshalXML turns XML into a Time