You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
700 B
TypeScript
29 lines
700 B
TypeScript
import Koa from "koa";
|
|
import Axios from "axios";
|
|
import * as xml2js from "xml2js";
|
|
|
|
const app = new Koa();
|
|
|
|
app.use(async (ctx) => {
|
|
try {
|
|
const { data } = await Axios.get(
|
|
"https://podcast.midline.pl/api/v1/channels/Midline/rss"
|
|
);
|
|
const builder = new xml2js.Builder();
|
|
const parsed_data = await xml2js.parseStringPromise(data);
|
|
parsed_data.rss.channel[0]["itunes:owner"][0]["itunes:email"] =
|
|
"kontakt@midline.pl";
|
|
parsed_data.rss.channel[0]["itunes:owner"][0]["itunes:name"] =
|
|
"Midline";
|
|
|
|
ctx.body = builder.buildObject(parsed_data);
|
|
ctx.type = "application/rss+xml";
|
|
} catch (e) {
|
|
console.error(e);
|
|
ctx.body = "error";
|
|
ctx.status = 500;
|
|
}
|
|
});
|
|
|
|
app.listen(3000);
|