|
1 | | -var createError = require('http-errors') |
2 | | -var express = require('express') |
3 | | -var path = require('path') |
| 1 | +// |
| 2 | +// Using @sqlitecloud/drivers inside an Express app with Javascript |
| 3 | +// |
4 | 4 |
|
5 | | -var tracksRouter = require('./routes/index') |
| 5 | +var sqlitecloud = require('@sqlitecloud/drivers') |
| 6 | +require('dotenv').config() |
| 7 | +var DATABASE_URL = process.env.DATABASE_URL |
| 8 | +console.assert(DATABASE_URL, 'DATABASE_URL environment variable not set in .env') |
6 | 9 |
|
| 10 | +var express = require('express') |
| 11 | +var http = require('http') |
7 | 12 | var app = express() |
8 | | - |
9 | 13 | app.use(express.json()) |
10 | | -app.use(express.urlencoded({ extended: false })) |
11 | 14 |
|
12 | | -app.use('/', tracksRouter) |
13 | | -app.use('/api/hello', tracksRouter) |
14 | | - |
15 | | -// catch 404 and forward to error handler |
16 | | -app.use(function (req, res, next) { |
17 | | - next(createError(404)) |
| 15 | +/* http://localhost:3001/ returns chinook tracks as json */ |
| 16 | +app.get('/', async function (req, res, next) { |
| 17 | + var database = new sqlitecloud.Database(DATABASE_URL) |
| 18 | + var tracks = await database.sql`USE DATABASE chinook.sqlite; SELECT * FROM tracks LIMIT 20;` |
| 19 | + res.send({ tracks }) |
18 | 20 | }) |
19 | 21 |
|
20 | | -// error handler |
21 | | -app.use(function (err, req, res, next) { |
22 | | - // set locals, only providing error in development |
23 | | - res.locals.message = err.message |
24 | | - res.locals.error = req.app.get('env') === 'development' ? err : {} |
25 | | - |
26 | | - // render the error page |
27 | | - res.status(err.status || 500) |
28 | | - res.render('error') |
| 22 | +const port = process.env.PORT || 3000 |
| 23 | +var server = http.createServer(app) |
| 24 | +server.listen(port, () => { |
| 25 | + console.log(`Server is running on http://localhost:${port}/`) |
29 | 26 | }) |
30 | 27 |
|
31 | 28 | module.exports = app |
0 commit comments