Would you like to clone this notebook?

When you clone a notebook you are able to make changes without affecting the original notebook.

Cancel

tar-transform 📦 pack

node v10.24.1
version: 1.0.0-beta.2
endpointsharetweet
const tt = require("tar-transform"); const fetch = require("node-fetch"); const { Readable } = require("stream"); exports.endpoint = async (req, resp) => { const packStream = tt.pack({ // boolean | zlib.ZlibOptions // indicates whether to gzip the tarball gzip: true, }); resp.setHeader("Content-Type", "application/octet-stream"); resp.setHeader("Content-Disposition", 'attachment; filename="tar-transform-demo.tgz"'); const imageResp = await fetch("https://github.com/EqualMa.png") const imageSize = parseInt(imageResp.headers.get("Content-Length")) Readable.from([ { headers: { name: "README.md" }, content: "# tar-transform" }, { headers: { name: "hello/world.txt" }, content: "Hello World!" }, { headers: { name: "emptyDir", type: "directory" } }, { headers: { name: "author-avatar.png", size: imageSize }, stream: imageResp.body }, ]) .pipe(packStream) .pipe(resp) .on("error", err=>console.error(err)) }; const url = process.env.RUNKIT_ENDPOINT_URL const html = ` <form method="get" action="${url}"> <button type="submit">Download demo tarball</button> </form> `
Loading…

no comments

    sign in to comment