~shreyasminocha/rice-dining-api

1658fbb613e62e3070ef83407696e9e317ebea08 — Shreyas Minocha 1 year, 10 months ago 8c66f94
Cleanly handle HTTP errors

Resolves https://todo.sr.ht/~shreyasminocha/rice-dining-api/1
1 files changed, 15 insertions(+), 2 deletions(-)

M src/index.js
M src/index.js => src/index.js +15 -2
@@ 1,5 1,6 @@
import Koa from 'koa';
import Router from 'koa-router';
import { HTTPError } from 'got';
import { getDailyMenu, getFullWeekMenu } from './scrape.js';

const app = new Koa();


@@ 7,12 8,24 @@ const router = new Router();

router.get('/:servery', async (ctx) => {
	const { servery } = ctx.params;
	ctx.body = await getDailyMenu(servery);

	try {
		ctx.body = await getDailyMenu(servery);
	} catch (err) {
		ctx.body = [];
		ctx.status = (err instanceof HTTPError) ? 404 : 500;
	}
});

router.get('/:servery/full-week-menu', async (ctx) => {
	const { servery } = ctx.params;
	ctx.body = await getFullWeekMenu(servery);

	try {
		ctx.body = await getFullWeekMenu(servery);
	} catch (err) {
		ctx.body = [];
		ctx.status = (err instanceof HTTPError) ? 404 : 500;
	}
});

app.use(router.routes());