8.0.0 • Published 5 months ago

http-z v8.0.0

Weekly downloads
228
License
MIT
Repository
github
Last release
5 months ago

Contents

Install

$ pnpm i http-z

Usage

import { parse, build } from 'http-z'

const plainMessage = [
  'GET /features?p1=v1 HTTP/1.1',
  'Host: example.com',
  'Accept: *',
  'Accept-Encoding: gzip,deflate',
  'Accept-Language: en-US;q=0.6, en;q=0.4',
  '',
  ''
].join('\r\n')

const messageModel = parse(plainMessage)
console.log(messageModel)

/* output:
{
  "method": "GET",
  "protocolVersion": "HTTP/1.1",
  "host": "example.com",
  "target": "/features?p1=v1",
  "path": "/features",
  "queryParams": [
    { "name": "p1", "value": "v1" }
  ],
  "headers": [
    { "name": "Host", "value": "example.com" },
    { "name": "Accept", value": "*" },
    { "name": "Accept-Encoding", "value": "gzip,deflate" },
    { "name": "Accept-Language", "value": "en-US;q=0.6, en;q=0.4" }
  ],
  "headersSize": 135,
  "bodySize": 0
}
*/

const plainMessageParsed = build(messageModel)
console.log(plainMessageParsed)

/* output:
GET /features?p1=v1 HTTP/1.1
Host: example.com
Accept: *
Accept-Encoding: gzip,deflate
Accept-Language: en-US;q=0.6, en;q=0.4


*/

API

function parse(rawMessage: string, opts: HttpZParserOptions = {}): HttpZParserModel | never

Parses HTTP request/response raw message and returns a model.

  • rawMessage: string - HTTP raw message.
  • opts: HttpZParserOptions - options, optional.
const messageModel = parse(plainMessage)

function build(messageModel: HttpZBuilderModel, opts?: HttpZBuilderOptions): string | never

Builds HTTP request/response raw message from the model.

  • messageModel: HttpZBuilderModel - HTTP message model.
  • opts: HttpZBuilderOptions - options, optional.
const plainMessageParsed = build(messageModel)

utils: object

Different utils used by the library. Can be used externally.

consts: object

Different HTTP constants (methods, headers, etc.)

References

License

Licensed under the MIT license.

Author

Alexander Mac

7.1.3

6 months ago

7.1.2

6 months ago

8.0.0

5 months ago

7.1.1

1 year ago

7.1.0

1 year ago

7.0.0

2 years ago

6.1.0

4 years ago

6.1.2

4 years ago

6.1.1

4 years ago

6.0.0

4 years ago

5.1.1

4 years ago

5.1.0

4 years ago

5.0.0

4 years ago

4.0.4

4 years ago

4.0.3

4 years ago

4.0.2

4 years ago

4.0.1

4 years ago

4.0.0

4 years ago

3.2.1

4 years ago

3.2.0

5 years ago

3.1.2

5 years ago

3.1.1

5 years ago

3.1.0

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

2.2.1

5 years ago

2.2.0

5 years ago

2.1.2

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.12.0

5 years ago

0.11.2

6 years ago

0.11.1

6 years ago

0.11.0

6 years ago

0.10.1

6 years ago

0.10.0

6 years ago

0.9.2

6 years ago

0.9.1

6 years ago

0.9.0

6 years ago

0.8.0

6 years ago

0.7.0

6 years ago

0.6.3

6 years ago

0.6.2

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.0

6 years ago

0.4.3

6 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.0

6 years ago

0.2.0

6 years ago

0.1.0

6 years ago