ASCIInator/server/index.js

35 lines
910 B
JavaScript
Raw Normal View History

import Fastify from 'fastify'
import multipart from '@fastify/multipart'
import cors from '@fastify/cors'
import { convertRoute } from './routes/convert.js'
import { testRoutes } from './routes/testApi.js'
const fastify = Fastify({ logger: { level: 'warn' } })
await fastify.register(cors, {
origin: [
'http://localhost:5173',
'http://localhost:4173',
'https://asciinator.waynehayesdevelopment.com',
],
})
await fastify.register(multipart, {
limits: { fileSize: 20 * 1024 * 1024 },
})
await fastify.register(convertRoute)
if (process.env.ENABLE_TEST_API === 'true') {
await fastify.register(testRoutes, { prefix: '/test' })
console.log('Test API enabled → /test/{health,convert,flags,imagemagick}')
}
try {
await fastify.listen({ port: 3050, host: '0.0.0.0' })
console.log('ASCIInator API → http://0.0.0.0:3050')
} catch (err) {
fastify.log.error(err)
process.exit(1)
}