carnet api
This commit is contained in:
parent
5950eafbe5
commit
45142b4eb7
@ -103,21 +103,25 @@ export async function GET() {
|
||||
}
|
||||
|
||||
try {
|
||||
// Establish Nextcloud session with retries
|
||||
const nextcloudToken = await establishNextcloudSession(nextcloudUrl, session.accessToken);
|
||||
|
||||
// Get user's folders using WebDAV with Nextcloud token
|
||||
// Get user's folders using WebDAV with Keycloak token
|
||||
const webdavUrl = `${nextcloudUrl}/remote.php/dav/files/${encodeURIComponent(session.user.email)}/`;
|
||||
console.log('Requesting WebDAV URL:', webdavUrl);
|
||||
|
||||
const foldersResponse = await fetch(webdavUrl, {
|
||||
headers: {
|
||||
'Authorization': `Bearer ${nextcloudToken}`,
|
||||
'Authorization': `Bearer ${session.accessToken}`,
|
||||
'Depth': '1',
|
||||
'Content-Type': 'application/xml',
|
||||
},
|
||||
});
|
||||
|
||||
if (foldersResponse.status === 429) {
|
||||
// Rate limited, wait and retry
|
||||
const retryAfter = foldersResponse.headers.get('Retry-After');
|
||||
await sleep((retryAfter ? parseInt(retryAfter) : 5) * 1000);
|
||||
return GET(); // Retry the entire request
|
||||
}
|
||||
|
||||
if (!foldersResponse.ok) {
|
||||
const errorText = await foldersResponse.text();
|
||||
console.error('Failed to fetch folders. Status:', foldersResponse.status);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user