feat: implement caldav search

This commit is contained in:
2022-04-18 23:01:01 +02:00
parent f9e8f4b9c1
commit d7191461eb
57 changed files with 3893 additions and 20 deletions
+39
View File
@@ -0,0 +1,39 @@
package http
import (
"github.com/dolanor/caldav-go/utils"
"io"
"net/http"
)
// an HTTP request object
type Request http.Request
// downcasts the request to the native HTTP interface
func (r *Request) Native() *http.Request {
return (*http.Request)(r)
}
// creates a new HTTP request object
func NewRequest(method string, urlstr string, body ...io.ReadCloser) (*Request, error) {
var err error
var r = new(http.Request)
if len(body) > 0 && body[0] != nil {
r, err = http.NewRequest(method, urlstr, body[0])
} else {
r, err = http.NewRequest(method, urlstr, nil)
}
if err != nil {
return nil, utils.NewError(NewRequest, "unable to create request", urlstr, err)
} else if auth := r.URL.User; auth != nil {
pass, _ := auth.Password()
r.SetBasicAuth(auth.Username(), pass)
r.URL.User = nil
}
return (*Request)(r), nil
}