diff --git a/main/dav_server.go b/main/dav_server.go index 9013deb..db8c90d 100644 --- a/main/dav_server.go +++ b/main/dav_server.go @@ -65,8 +65,6 @@ func get_caldav_data(username string, password string) SimpleCalDavData { log.Fatal(err) } - fmt.Print(string(body)) - calandars := []Calandar{} for i := range len(davResp.Responses) { if davResp.Responses[i].PropStat[0].Prop.Type.Calendar == nil { @@ -86,3 +84,45 @@ func get_caldav_data(username string, password string) SimpleCalDavData { Calandars: calandars, } } + +const XML_cal string = ` + + + + + + + + + + + +` + +func get_calandar_data(cal Calandar, username string, password string) Calandar { + req, _ := http.NewRequest( + "REPORT", + cal.Link, + strings.NewReader(XML_cal), + ) + + req.SetBasicAuth(username, password) + req.Header.Set("Depth", "1") + req.Header.Set("Content-Type", "application/xml") + + resp, err := client.Do(req) + if err != nil { + fmt.Print(err.Error()) + } + defer resp.Body.Close() + + body, err := io.ReadAll(resp.Body) + if err != nil { + log.Fatal(err) + } + + fmt.Println(string(body)) + + return cal +} diff --git a/main/main.go b/main/main.go index 5b884fd..f4a1e30 100644 --- a/main/main.go +++ b/main/main.go @@ -14,5 +14,6 @@ func main() { for i := range len(calDavData.Calandars) { fmt.Printf("Cal %d is named %s\n", i, calDavData.Calandars[i].DisplayName) fmt.Printf("\tLink to cal: %s\n", calDavData.Calandars[i].Link) + calDavData.Calandars[i] = get_calandar_data(calDavData.Calandars[i], serverConfig.Username, serverConfig.Password) } }