UNPKG

4.36 kBSource Map (JSON)View Raw
1{"version":3,"sources":["files.js"],"names":["bodyParser","require","express","fs","mkdirp","multer","path","reflect","uuid","router","Router","use","raw","patch","post","put","uploadPath","process","env","PACKAGE","req","res","next","err","id","v4","storeAt","join","getFrom","writeFile","body","err2","status","json","loc","end","get","params","Error","readFile","data","send","storage","memoryStorage","upload","forEach","methodName","array","files","static","__dirname","module","exports"],"mappings":";;AAAA;;;;AAKA,IAAMA,aAAaC,sBAAnB;AACA,IAAMC,UAAUD,kBAAhB;AACA,IAAME,KAAKF,aAAX;AACA,IAAMG,SAASH,iBAAf;AACA,IAAMI,SAASJ,iBAAf;AACA,IAAMK,OAAOL,eAAb;AACA,IAAMM,UAAUN,oBAAhB;AACA,IAAMO,OAAOP,eAAb;;AAEA;AACA,IAAMQ,SAASP,QAAQQ,MAAR,EAAf;;AAEA;AACA;;AAEAD,OAAOE,GAAP,CAAWX,WAAWY,GAAX,WAAX;;AAEAH,OAAOI,KAAP,aAAyBN,OAAzB;AACAE,OAAOK,IAAP,aAAwBP,OAAxB;AACAE,OAAOM,GAAP,aAAuBR,OAAvB;;AAEA,IAAMS,aAAaC,QAAQC,GAAR,CAAYC,OAAZ,aAA8BF,QAAQC,GAAR,CAAYC,OAA1C,0BAAnB;AACAV,OAAOK,IAAP,YAAuB,UAACM,GAAD,EAAMC,GAAN,EAAWC,IAAX,EAAoB;AACzClB,SAAOY,UAAP,EAAmB,UAACO,GAAD,EAAS;AAC1B,QAAIA,GAAJ,EAAS;AACP,aAAOD,KAAKC,GAAL,CAAP;AACD;;AAED,QAAMC,KAAKhB,KAAKiB,EAAL,EAAX;AACA,QAAMC,UAAUpB,KAAKqB,IAAL,CAAUX,UAAV,EAAsBQ,EAAtB,CAAhB;AACA,QAAMI,+BAA6BJ,EAAnC;;AAEA;AACA,WAAOrB,GAAG0B,SAAH,CAAaH,OAAb,EAAsBN,IAAIU,IAA1B,EAAgC,UAACC,IAAD,EAAU;AAC/C,UAAIA,IAAJ,EAAU;AACR,eAAOT,KAAKS,IAAL,CAAP;AACD;;AAED,aAAOV,IACJW,MADI,CACG,GADH,EAEJC,IAFI,CAEC;AACJC,aAAKN;AADD,OAFD,EAKJO,GALI,EAAP;AAMD,KAXM,CAAP;AAYD,GAtBD;AAuBD,CAxBD;;AA0BA1B,OAAO2B,GAAP,kBAA4B,UAAChB,GAAD,EAAMC,GAAN,EAAWC,IAAX,EAAoB;AAC9C,MAAI,CAACF,IAAIiB,MAAJ,CAAWb,EAAhB,EAAoB;AAClB,WAAOF,KAAK,IAAIgB,KAAJ,wBAAL,CAAP;AACD;;AAED,SAAOnC,GAAGoC,QAAH,CAAYjC,KAAKqB,IAAL,CAAUX,UAAV,EAAsBI,IAAIiB,MAAJ,CAAWb,EAAjC,CAAZ,EAAkD,UAACD,GAAD,EAAMiB,IAAN,EAAe;AACtE,QAAIjB,GAAJ,EAAS;AACP,aAAOD,KAAKC,GAAL,CAAP;AACD;;AAED,WAAOF,IAAIW,MAAJ,CAAW,GAAX,EAAgBS,IAAhB,CAAqBD,IAArB,EAA2BL,GAA3B,EAAP;AACD,GANM,CAAP;AAOD,CAZD;;AAcA,IAAMO,UAAUrC,OAAOsC,aAAP,EAAhB;AACA,IAAMC,SAASvC,OAAO,EAACqC,gBAAD,EAAP,CAAf;;AAEA,yBAAyBG,OAAzB,CAAiC,UAACC,UAAD,EAAgB;AAC/CrC,SAAOqC,UAAP,eAAgCF,OAAOG,KAAP,SAAhC,EAAuD,UAAC3B,GAAD,EAAMC,GAAN,EAAc;AACnEA,QACGW,MADH,CACU,GADV,EAEGC,IAFH,CAEQb,IAAI4B,KAFZ,EAGGb,GAHH;AAID,GALD;AAMD,CAPD;;AASA1B,OAAOE,GAAP,SAAmBT,QAAQ+C,MAAR,CAAe3C,KAAKqB,IAAL,CAAUuB,SAAV,WAAf,CAAnB;;AAEAC,OAAOC,OAAP,GAAiB3C,MAAjB","file":"files.js","sourcesContent":["/*!\n * Copyright (c) 2015-2017 Cisco Systems, Inc. See LICENSE file.\n */\n\n\nconst bodyParser = require(`body-parser`);\nconst express = require(`express`);\nconst fs = require(`fs`);\nconst mkdirp = require(`mkdirp`);\nconst multer = require(`multer`);\nconst path = require(`path`);\nconst reflect = require(`./reflect`);\nconst uuid = require(`uuid`);\n\n/* eslint new-cap: [0] */\nconst router = express.Router();\n\n// Configure Image processing\n// -------------------------\n\nrouter.use(bodyParser.raw(`image/*`));\n\nrouter.patch(`/reflect`, reflect);\nrouter.post(`/reflect`, reflect);\nrouter.put(`/reflect`, reflect);\n\nconst uploadPath = process.env.PACKAGE ? `.tmp/${process.env.PACKAGE}/files` : `.tmp/files`;\nrouter.post(`/upload`, (req, res, next) => {\n mkdirp(uploadPath, (err) => {\n if (err) {\n return next(err);\n }\n\n const id = uuid.v4();\n const storeAt = path.join(uploadPath, id);\n const getFrom = `/files/download/${id}`;\n\n /* eslint max-nested-callbacks: [0] */\n return fs.writeFile(storeAt, req.body, (err2) => {\n if (err2) {\n return next(err2);\n }\n\n return res\n .status(201)\n .json({\n loc: getFrom\n })\n .end();\n });\n });\n});\n\nrouter.get(`/download/:id`, (req, res, next) => {\n if (!req.params.id) {\n return next(new Error(`id param is required`));\n }\n\n return fs.readFile(path.join(uploadPath, req.params.id), (err, data) => {\n if (err) {\n return next(err);\n }\n\n return res.status(200).send(data).end();\n });\n});\n\nconst storage = multer.memoryStorage();\nconst upload = multer({storage});\n\n[`put`, `patch`, `post`].forEach((methodName) => {\n router[methodName](`/metadata`, upload.array(`files`), (req, res) => {\n res\n .status(200)\n .json(req.files)\n .end();\n });\n});\n\nrouter.use(`/get`, express.static(path.join(__dirname, `static`)));\n\nmodule.exports = router;\n"]}
\No newline at end of file