34 lines
948 B
TypeScript
34 lines
948 B
TypeScript
import { defineConfig, loadEnv } from 'vite'
|
|
|
|
export default defineConfig(({ mode }) => {
|
|
const env = loadEnv(mode, process.cwd(), '')
|
|
const ntaUrl = new URL(
|
|
env.NTA_TRIP_UPDATES_TARGET ??
|
|
'https://api.nationaltransport.ie/gtfsr/v2/TripUpdates?format=json',
|
|
)
|
|
|
|
return {
|
|
server: {
|
|
host: '0.0.0.0',
|
|
port: 5173,
|
|
allowedHosts: true,
|
|
proxy: {
|
|
'/api/nta/trip-updates': {
|
|
target: ntaUrl.origin,
|
|
changeOrigin: true,
|
|
rewrite: () => `${ntaUrl.pathname}${ntaUrl.search}`,
|
|
configure(proxy) {
|
|
proxy.on('proxyReq', (proxyReq) => {
|
|
if (env.NTA_API_KEY) {
|
|
proxyReq.setHeader('Ocp-Apim-Subscription-Key', env.NTA_API_KEY)
|
|
proxyReq.setHeader('x-api-key', env.NTA_API_KEY)
|
|
}
|
|
proxyReq.setHeader('Accept', 'application/json')
|
|
})
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
})
|