Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 3x 1x 1x 1x 1x 1x 1x 1x | import fs from 'fs'
import fsPromises from 'fs/promises'
import config from './config.js'
import {
join,
extname
} from 'path'
const {
dir: {
publicDirectory
}
} = config
export class Service {
createFileStream(filename) {
return fs.createReadStream(filename)
}
async getFileInfo(file) {
// file = home/index.html
const fullFilePath = join(publicDirectory, file)
// valida se existe, se não existe estoura erro!!
await fsPromises.access(fullFilePath)
const fileType = extname(fullFilePath)
return {
type: fileType,
name: fullFilePath
}
}
async getFileStream(file) {
const {
name,
type
} = await this.getFileInfo(file)
return {
stream: this.createFileStream(name),
type
}
}
} |