get basic information about the user

This commit is contained in:
2026-08-06 19:38:04 -04:00
parent af2d823705
commit f76d715cb9
2 changed files with 26 additions and 4 deletions
+4 -4
View File
@@ -20,11 +20,11 @@ const neededXML string = `
</d:propfind>
`
var client *http.Client
var BuildInClient *http.Client
var serverURL string
func InitDavClient(url string) {
client = &http.Client{}
BuildInClient = &http.Client{}
serverURL = url
}
@@ -55,7 +55,7 @@ func GetCalDAVData(username string, password string) SimpleCalDavData {
req.Header.Set("Depth", "1")
req.Header.Set("Content-Type", "application/xml")
resp, err := client.Do(req)
resp, err := BuildInClient.Do(req)
if err != nil {
fmt.Print(err.Error())
}
@@ -120,7 +120,7 @@ func GetCalendarData(cal Calandar, username string, password string) Calandar {
req.Header.Set("Depth", "1")
req.Header.Set("Content-Type", "application/xml")
resp, err := client.Do(req)
resp, err := BuildInClient.Do(req)
if err != nil {
fmt.Print(err.Error())
}
+22
View File
@@ -2,6 +2,8 @@ package main
import (
"context"
"encoding/json"
"fmt"
"net/http"
"astraltech.xyz/calendar/v2/auth"
@@ -9,6 +11,10 @@ import (
"astraltech.xyz/calendar/v2/webserver"
)
type UserInfo struct {
Email string `json:"email"`
}
func handleUser(w http.ResponseWriter, r *http.Request) {
// Load the stored token
token, err := auth.TestTokenStore.Load()
@@ -19,6 +25,22 @@ func handleUser(w http.ResponseWriter, r *http.Request) {
// Create an HTTP client that attaches the access token
client := auth.OAuthConfigs[0].Client(context.Background(), token)
// Fetch user information from GitHub API
resp, err := client.Get("https://account.astraltech.xyz/application/o/userinfo/")
if err != nil {
http.Error(w, "Failed to fetch user: "+err.Error(), http.StatusInternalServerError)
return
}
defer resp.Body.Close()
var usersInfo UserInfo
if err := json.NewDecoder(resp.Body).Decode(&usersInfo); err != nil {
http.Error(w, "Failed to decode response", http.StatusInternalServerError)
return
}
fmt.Printf("The users email is %s\n", usersInfo.Email)
}
func main() {