poom-i18n
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

poom-requesthasher

A plugin decrypts querystring, request body data (except multipart) and encrypts response body data for poom

Install

npm i poom-requesthasher -S

Examples

Typescript

Use like a middleware

import { Server } from 'poom';
import { hasher } from 'poom-hasher';

Server.use(hasher('Key is 8 characters', {
    baseOnRequest: false,
    mode: ['query', 'body', 'response']
}))

Use in controller (Manual apis which you want encrypt data when you not declare in Server.use)

import { GET, POST, PUT, DELETE, HEAD, INJECT } from 'poom-route';
import { HASHER, Hasher } from 'poom-requesthasher';

const key = Hasher.create('Key is 8 characters');

export default class TestController {
    @GET('/test')
    @HASHER(key, {
        baseOnRequest: false,
        mode: ['query', 'body', 'response']
    })
    static async test({ body, headers, query }) {
    	return {
    		name: 'thanh'
    	};
    }
}

In that:

  • baseOnRequest: Plugin auto detect to encrypt, decrypt base on request from client via "accept" field is "text/encryption"
  • mode: Which is encrypted or decrypted.
    • query: Decrypt query string on request which is sent by client
    • body: Decrypt body data in POST, PUT (except multipart type) which is sent by client
    • response: Encrypt response body data which is sent from server to client

Readme

Keywords

none

Package Sidebar

Install

npm i poom-i18n

Weekly Downloads

1

Version

1.0.1

License

ISC

Unpacked Size

4.47 kB

Total Files

4

Last publish

Collaborators

  • onapis