all: add basic docs

This commit is contained in:
Simon Ser
2020-01-21 21:01:18 +01:00
parent f6d0a37ea4
commit 0469c3d389
6 changed files with 17 additions and 0 deletions

View File

@@ -1,3 +1,6 @@
// Package carddav provides a client and server CardDAV implementation.
//
// CardDAV is defined in RFC 6352.
package carddav
import (

View File

@@ -45,6 +45,7 @@ func Discover(domain string) (string, error) {
return u.String(), nil
}
// Client provides access to a remote CardDAV server.
type Client struct {
*webdav.Client

View File

@@ -11,6 +11,7 @@ import (
// TODO: add support for multiple address books
// Backend is a CardDAV server backend.
type Backend interface {
AddressBook() (*AddressBook, error)
GetAddressObject(href string) (*AddressObject, error)
@@ -18,10 +19,13 @@ type Backend interface {
QueryAddressObjects(query *AddressBookQuery) ([]AddressObject, error)
}
// Handler handles CardDAV HTTP requests. It can be used to create a CardDAV
// server.
type Handler struct {
Backend Backend
}
// ServeHTTP implements http.Handler.
func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if h.Backend == nil {
http.Error(w, "carddav: no backend available", http.StatusInternalServerError)