hinos-bodyparser
A plugin helps parse request body for hinos
Installation
npm i hinos-bodyparser -S
Examples
Typescript
import { GET, POST, PUT, DELETE, HEAD } from 'hinos-route';import { BODYPARSER } from 'hinos-bodyparser'; export default class ChartController { @PUT('/chart/:id') @BODYPARSER([{ autoCreate?: true, //[Boolean] Auto create folder if not existed mimes: string, //Can inject data by string or fix string mime type. "() => `${state.config.ext}`" or 'jpg|png|.*' limits: { fileSize: number|string//Can inject data by string or fix string mime type. "() => state.config.maxSize" or 1024 (1MB) }, returnType?: String; // [String] return only path, [Object] return full object file returnPath?: string; // Return path after uploaded. Can inject "() => `upload/${state.auth.projectId}`" or "images/" name: 'images'; // Field name uploadDir?: string // absolute path where file will be saved to. Can inject "() => `assets/upload/${state.auth.projectId}`" or 'assets/images' maxCount?: number|string // Max file can be uploaded. can inject "() => state.config.maxFile" or 3(max number of files upload) resize?: [ // Auto resize image base on your configuration here {w: -1000 }, // Auto resize origin when width > 1000. If width < 1000 do nothing {w: 32, h: 32, ext: 'thumb'}, {w: 224, h: 200, ext: 'list.pc'}, {w: 358, h: 200, ext: 'list.tab'}, {w: 270, h: 200, ext: 'list.mob'} ] // Can inject "() => state.config.resize" }]) static async add({ body, params }) { body.id = params.id; // Assign body data to params which is got from client return body; // Return request body which is got from client }}