Spaces:
Paused
Paused
Download app.js from Brister/quote-api: direct link, hf CLI and curl.
- Browser
- Download file 1.16 kB
-
https://huggingface.co/spaces/Brister/quote-api/resolve/main/app.js
- Command line
-
hf download hf://spaces/Brister/quote-api/app.js
-
curl -L -o app.js https://huggingface.co/spaces/Brister/quote-api/resolve/main/app.js
1.16 kB
| const logger = require('koa-logger') | |
| const responseTime = require('koa-response-time') | |
| const bodyParser = require('koa-bodyparser') | |
| const ratelimit = require('koa-ratelimit') | |
| const Router = require('koa-router') | |
| const Koa = require('koa') | |
| const app = new Koa() | |
| app.use(logger()) | |
| app.use(responseTime()) | |
| app.use(bodyParser()) | |
| const ratelimitВb = new Map() | |
| app.use(ratelimit({ | |
| driver: 'memory', | |
| db: ratelimitВb, | |
| duration: 1000 * 55, | |
| errorMessage: { | |
| ok: false, | |
| error: { | |
| code: 429, | |
| message: 'Rate limit exceeded. See "Retry-After"' | |
| } | |
| }, | |
| id: (ctx) => ctx.ip, | |
| headers: { | |
| remaining: 'Rate-Limit-Remaining', | |
| reset: 'Rate-Limit-Reset', | |
| total: 'Rate-Limit-Total' | |
| }, | |
| max: 20, | |
| disableHeader: false, | |
| whitelist: (ctx) => { | |
| return ctx.query.botToken === process.env.BOT_TOKEN | |
| }, | |
| blacklist: (ctx) => { | |
| } | |
| })) | |
| app.use(require('./helpers').helpersApi) | |
| const route = new Router() | |
| const routes = require('./routes') | |
| route.use('/*', routes.routeApi.routes()) | |
| app.use(route.routes()) | |
| const port = process.env.PORT || 3000 | |
| app.listen(port, () => { | |
| console.log('Listening on localhost, port', port) | |
| }) | |