......
This commit is contained in:
@@ -5,12 +5,21 @@ import { redirect } from 'next/navigation';
|
||||
* Gets the base URL for server API requests with proper fallbacks
|
||||
*/
|
||||
function getBaseUrl() {
|
||||
// First check for the specific server API URL environment variable
|
||||
if (process.env.SERVER_API_URL) {
|
||||
console.log(`Using SERVER_API_URL: ${process.env.SERVER_API_URL}`);
|
||||
return process.env.SERVER_API_URL;
|
||||
}
|
||||
|
||||
// For server components, we normally would use environment variables
|
||||
// But we need to be careful with how they're accessed
|
||||
|
||||
// Try to get the API URL from environment variables
|
||||
const apiUrl = process.env.NEXT_PUBLIC_API_URL;
|
||||
|
||||
// Check if we're running in a container/production environment
|
||||
const inContainer = process.env.NODE_ENV === 'production';
|
||||
|
||||
// We need to get the host from somewhere to construct the URL
|
||||
// In production, we can rely on the VERCEL_URL or similar
|
||||
if (process.env.VERCEL_URL) {
|
||||
@@ -23,12 +32,21 @@ function getBaseUrl() {
|
||||
if (apiUrl.startsWith('http')) {
|
||||
return apiUrl;
|
||||
}
|
||||
|
||||
// For container environments, use the internal port
|
||||
const port = process.env.INTERNAL_API_PORT || '3000';
|
||||
const protocol = (process.env.USE_HTTPS === 'false') ? 'http' : 'https';
|
||||
|
||||
// Otherwise, it's likely a relative path like /api
|
||||
return `http://localhost:3000${apiUrl.startsWith('/') ? apiUrl : `/${apiUrl}`}`;
|
||||
// Use localhost with the correct port for container environments
|
||||
return `${protocol}://localhost:${port}${apiUrl.startsWith('/') ? apiUrl : `/${apiUrl}`}`;
|
||||
}
|
||||
|
||||
// Last resort fallback for development
|
||||
return 'http://localhost:3000/api';
|
||||
// Last resort fallback
|
||||
// Use http for container environment, https for external services
|
||||
const protocol = (process.env.USE_HTTPS === 'false') ? 'http' : 'https';
|
||||
const port = process.env.INTERNAL_API_PORT || '3000';
|
||||
return `${protocol}://localhost:${port}/api`;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user