mirror of
https://github.com/1f349/go-webdav.git
synced 2024-12-22 16:24:14 +00:00
carddav: add allprop and propname support to query and multiget in server
This commit is contained in:
parent
0a251a8dfb
commit
7e29f37bd8
@ -54,18 +54,20 @@ type maxResourceSize struct {
|
||||
|
||||
// https://tools.ietf.org/html/rfc6352#section-10.3
|
||||
type addressbookQuery struct {
|
||||
XMLName xml.Name `xml:"urn:ietf:params:xml:ns:carddav addressbook-query"`
|
||||
Prop *internal.Prop `xml:"DAV: prop,omitempty"`
|
||||
// TODO: DAV:allprop | DAV:propname
|
||||
XMLName xml.Name `xml:"urn:ietf:params:xml:ns:carddav addressbook-query"`
|
||||
Prop *internal.Prop `xml:"DAV: prop,omitempty"`
|
||||
AllProp *struct{} `xml:"DAV: allprop,omitempty"`
|
||||
PropName *struct{} `xml:"DAV: propname,omitempty"`
|
||||
// TODO: filter, limit?
|
||||
}
|
||||
|
||||
// https://tools.ietf.org/html/rfc6352#section-8.7
|
||||
type addressbookMultiget struct {
|
||||
XMLName xml.Name `xml:"urn:ietf:params:xml:ns:carddav addressbook-multiget"`
|
||||
Hrefs []internal.Href `xml:"DAV: href"`
|
||||
Prop *internal.Prop `xml:"DAV: prop,omitempty"`
|
||||
// TODO: DAV:allprop | DAV:propname
|
||||
XMLName xml.Name `xml:"urn:ietf:params:xml:ns:carddav addressbook-multiget"`
|
||||
Hrefs []internal.Href `xml:"DAV: href"`
|
||||
Prop *internal.Prop `xml:"DAV: prop,omitempty"`
|
||||
AllProp *struct{} `xml:"DAV: allprop,omitempty"`
|
||||
PropName *struct{} `xml:"DAV: propname,omitempty"`
|
||||
}
|
||||
|
||||
func newProp(name string, noValue bool) *internal.RawXMLValue {
|
||||
|
@ -86,8 +86,9 @@ func (h *Handler) handleQuery(w http.ResponseWriter, query *addressbookQuery) er
|
||||
for _, ao := range aos {
|
||||
b := backend{h.Backend}
|
||||
propfind := internal.Propfind{
|
||||
Prop: query.Prop,
|
||||
// TODO: Allprop, Propnames
|
||||
Prop: query.Prop,
|
||||
AllProp: query.AllProp,
|
||||
PropName: query.PropName,
|
||||
}
|
||||
resp, err := b.propfindAddressObject(&propfind, &ao)
|
||||
if err != nil {
|
||||
@ -110,8 +111,9 @@ func (h *Handler) handleMultiget(w http.ResponseWriter, multiget *addressbookMul
|
||||
|
||||
b := backend{h.Backend}
|
||||
propfind := internal.Propfind{
|
||||
Prop: multiget.Prop,
|
||||
// TODO: Allprop, Propnames
|
||||
Prop: multiget.Prop,
|
||||
AllProp: multiget.AllProp,
|
||||
PropName: multiget.PropName,
|
||||
}
|
||||
resp, err := b.propfindAddressObject(&propfind, ao)
|
||||
if err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user