👷🏽 Streaming JSON WIP

This commit is contained in:
2021-05-13 07:58:59 -07:00
parent 267386ec94
commit c15b2cf0e4
3 changed files with 129 additions and 23 deletions

View File

@@ -3,35 +3,22 @@ import { Request, Response } from "express";
import axios from "axios";
import { Readable } from "stream";
import through2 from "through2";
import hyperquest from "hyperquest";
import es from "event-stream";
router.route("/getComicCovers").post(async (req: Request, res: Response) => {
typeof req.body.extractionOptions === "object"
? req.body.extractionOptions
: {};
const comicBookCoversData = await axios({
url: "http://localhost:3000/api/import/getComicCovers",
method: "POST",
data: {
const comicBookCoversData = hyperquest.post("http://localhost:3853/api/import/getComicCovers",
{
data: {
extractionOptions: req.body.extractionOptions,
walkedFolders: req.body.walkedFolders,
},
});
const stream = new Readable({
objectMode: true,
highWaterMark: 1,
read() {},
});
const ndjsonStream = through2(
{ objectMode: true, highWaterMark: 1 },
(data, enc, cb) => {
cb(null, JSON.stringify(data) + "\n");
},
);
stream.pipe(ndjsonStream).pipe(res);
stream.push({ data: comicBookCoversData.data });
stream.push(null);
console.log(comicBookCoversData.data);
});
router.route("/walkFolder").post(async (req: Request, res: Response) => {