claire-framework
Version:
- được viết bằng TypeScript - hỗ trợ websocket và HTTP request - hỗ trợ CLI để generate base project (claire-cli)
25 lines • 2.14 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const stream_1 = __importDefault(require("stream"));
const mime_types_1 = __importDefault(require("mime-types"));
const AbstractHttpResponder_1 = require("../controller/http/AbstractHttpResponder");
class DefaultFileResponder extends AbstractHttpResponder_1.AbstractHttpResponder {
constructor() {
super();
}
static predictMimeType(fileName) {
return mime_types_1.default.lookup(fileName);
}
response(response, value) {
const readStream = new stream_1.default.PassThrough();
readStream.end(value.buffer);
response.set('Content-disposition', 'attachment; filename=' + value.fileName);
response.set('Content-Type', value.contentType || DefaultFileResponder.predictMimeType(value.fileName) || 'text/plain');
readStream.pipe(response);
}
}
exports.DefaultFileResponder = DefaultFileResponder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEZpbGVSZXNwb25kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZGVmYXVsdC1pbXBsZW1lbnRhdGlvbnMvRGVmYXVsdEZpbGVSZXNwb25kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsNERBQThCO0FBRTlCLG9GQUErRTtBQUUvRSxNQUFhLG9CQUFxQixTQUFRLDZDQUFxQjtJQUUzRDtRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVPLE1BQU0sQ0FBQyxlQUFlLENBQUMsUUFBZ0I7UUFDM0MsT0FBTyxvQkFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sUUFBUSxDQUFDLFFBQXNCLEVBQUUsS0FBaUU7UUFDckcsTUFBTSxVQUFVLEdBQUcsSUFBSSxnQkFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLFFBQVEsQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsdUJBQXVCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlFLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksb0JBQW9CLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQztRQUN4SCxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FFSjtBQWxCRCxvREFrQkMifQ==