1 | # comets
|
2 |
|
3 | [![npm version][npm-src]][npm-href]
|
4 | [![package size][size-src]][size-href]
|
5 |
|
6 | Create a one-off server for testing http request listener.
|
7 |
|
8 | ## Usage
|
9 |
|
10 | ```bash
|
11 | npm install comets
|
12 | ```
|
13 |
|
14 | ```js
|
15 | import assert from 'assert'
|
16 | import fetch from 'node-fetch'
|
17 | import { createServer } from 'comets'
|
18 |
|
19 | async function test () {
|
20 | // The handler to test
|
21 | const requestHandler = (req, res) => res.end('yo')
|
22 |
|
23 | // Create a one-off server for testing
|
24 | const address = await createServer(requestHandler)
|
25 |
|
26 | // Send test request, the server will close after this request
|
27 | const result = await fetch(address).then(res => res.text())
|
28 |
|
29 | assert.equal(result, 'yo')
|
30 | }
|
31 | ```
|
32 |
|
33 | ## API
|
34 |
|
35 | ### `createServer()`
|
36 |
|
37 | `async createServer(handler: http.RequestListener, count: number = 1) => Promise<string>`
|
38 |
|
39 | - __`handler`__: the request listener for creating http server
|
40 | - __`count`__: the number of requests allowed before server closed (default: 1)
|
41 |
|
42 | returns __`Promise<string>`__: the server address (`http://localhost:<PORT>`).
|
43 |
|
44 | ## License
|
45 |
|
46 | [![License][license-src]][license-href]
|
47 |
|
48 |
|
49 | [npm-src]: https://badgen.net/npm/v/comets
|
50 | [npm-href]: https://www.npmjs.com/package/comets
|
51 | [size-src]: https://badgen.net/packagephobia/install/comets
|
52 | [size-href]: https://packagephobia.now.sh/result?p=comets
|
53 | [license-src]: https://badgen.net/badge/license/MIT
|
54 | [license-href]: LICENSE.md
|