0.5.25 • Published 6 months ago

@wooksjs/http-body v0.5.25

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

Wooks Body

!!! This is work-in-progress library, breaking changes are expected !!!

Wooks Body is composable body parser for @wooksjs/event-http.

Supported content types:

  • ✅ application/json
  • ✅ text/*
  • ✅ multipart/form-data
  • ✅ application/x-www-form-urlencoded

Body parser does not parse every request's body. The parsing happens only when you call parseBody function.

Installation

npm install @wooksjs/http-body

Usage

import { useBody } from '@wooksjs/http-body'
app.post('test', async () => {
  const { parseBody } = useBody()
  const data = await parseBody()
})

Additional hooks

import { useBody } from '@wooksjs/http-body'
app.post('test', async () => {
  const {
    isJson, // checks if content-type is "application/json" : () => boolean;
    isHtml, // checks if content-type is "text/html" : () => boolean;
    isXml, // checks if content-type is "application/xml" : () => boolean;
    isText, // checks if content-type is "text/plain" : () => boolean;
    isBinary, // checks if content-type is binary : () => boolean;
    isFormData, // checks if content-type is "multipart/form-data" : () => boolean;
    isUrlencoded, // checks if content-type is "application/x-www-form-urlencoded" : () => boolean;
    isCompressed, // checks content-encoding : () => boolean | undefined;
    contentEncodings, // returns an array of encodings : () => string[];
    parseBody, // parses body according to content-type : <T = unknown>() => Promise<T>;
    rawBody, // returns raw body Buffer : () => Promise<Buffer>;
  } = useBody()

  // the handler got the control, but the body isn't loaded yet
  //...

  console.log(await parseBody())

  // after `await parseBody()` the body was loaded and parsed
  // ...
})

Documentation

To check out docs, visit wooks.moost.org.

0.5.25

6 months ago

0.5.20

6 months ago

0.5.18

7 months ago

0.5.19

7 months ago

0.5.17

7 months ago

0.5.16

7 months ago

0.5.15

7 months ago

0.5.14

7 months ago

0.5.13

12 months ago

0.5.10

1 year ago

0.5.11

1 year ago

0.5.12

1 year ago

0.4.37

1 year ago

0.4.36

1 year ago

0.5.4

1 year ago

0.5.3

1 year ago

0.5.6

1 year ago

0.5.5

1 year ago

0.5.0

1 year ago

0.5.2

1 year ago

0.5.1

1 year ago

0.5.8

1 year ago

0.5.7

1 year ago

0.5.9

1 year ago

0.4.35

1 year ago

0.4.33

1 year ago

0.4.34

1 year ago

0.4.31

1 year ago

0.4.32

1 year ago

0.4.30

1 year ago

0.4.28

1 year ago

0.4.29

1 year ago

0.4.27

1 year ago

0.4.26

1 year ago

0.4.24

1 year ago

0.4.23

1 year ago

0.4.22

1 year ago

0.4.20

1 year ago

0.4.21

1 year ago

0.4.19

1 year ago

0.4.18

1 year ago

0.4.17

2 years ago

0.4.15

2 years ago

0.4.16

2 years ago

0.4.14

2 years ago

0.4.13

2 years ago

0.4.12

2 years ago

0.4.10

2 years ago

0.4.11

2 years ago

0.4.9

2 years ago

0.4.8

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.9

2 years ago

0.3.12

2 years ago

0.3.11

2 years ago

0.3.10

2 years ago

0.4.5

2 years ago

0.4.4

2 years ago

0.4.7

2 years ago

0.4.6

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.2.23

2 years ago

0.2.22

2 years ago

0.2.21

2 years ago

0.2.20

2 years ago

0.2.19

2 years ago

0.3.0

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.2.16

2 years ago

0.2.15

2 years ago

0.2.14

2 years ago

0.2.18

2 years ago

0.2.17

2 years ago

0.2.13

2 years ago

0.2.12

2 years ago

0.2.11

2 years ago

0.2.10

2 years ago

0.2.9

2 years ago

0.2.8

2 years ago

0.2.7

2 years ago

0.2.6

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.1.0

3 years ago