root / HServer / 00.Server / 00.Program / node_modules / on-headers / README.md
이력 | 보기 | 이력해설 | 다운로드 (1.88 KB)
1 | 39 | HKM | # on-headers |
---|---|---|---|
2 | |||
3 | [![NPM Version][npm-image]][npm-url] |
||
4 | [![NPM Downloads][downloads-image]][downloads-url] |
||
5 | [![Node.js Version][node-version-image]][node-version-url] |
||
6 | [![Build Status][travis-image]][travis-url] |
||
7 | [![Test Coverage][coveralls-image]][coveralls-url] |
||
8 | |||
9 | Execute a listener when a response is about to write headers. |
||
10 | |||
11 | ## Installation |
||
12 | |||
13 | ```sh |
||
14 | $ npm install on-headers |
||
15 | ``` |
||
16 | |||
17 | ## API |
||
18 | |||
19 | ```js |
||
20 | var onHeaders = require('on-headers') |
||
21 | ``` |
||
22 | |||
23 | ### onHeaders(res, listener) |
||
24 | |||
25 | This will add the listener `listener` to fire when headers are emitted for `res`. |
||
26 | The listener is passed the `response` object as it's context (`this`). Headers are |
||
27 | considered to be emitted only once, right before they are sent to the client. |
||
28 | |||
29 | When this is called multiple times on the same `res`, the `listener`s are fired |
||
30 | in the reverse order they were added. |
||
31 | |||
32 | ## Examples |
||
33 | |||
34 | ```js |
||
35 | var http = require('http') |
||
36 | var onHeaders = require('on-headers') |
||
37 | |||
38 | http |
||
39 | .createServer(onRequest) |
||
40 | .listen(3000) |
||
41 | |||
42 | function addPoweredBy() { |
||
43 | // set if not set by end of request |
||
44 | if (!this.getHeader('X-Powered-By')) { |
||
45 | this.setHeader('X-Powered-By', 'Node.js') |
||
46 | } |
||
47 | } |
||
48 | |||
49 | function onRequest(req, res) { |
||
50 | onHeaders(res, addPoweredBy) |
||
51 | |||
52 | res.setHeader('Content-Type', 'text/plain') |
||
53 | res.end('hello!') |
||
54 | } |
||
55 | ``` |
||
56 | |||
57 | ## Testing |
||
58 | |||
59 | ```sh |
||
60 | $ npm test |
||
61 | ``` |
||
62 | |||
63 | ## License |
||
64 | |||
65 | [MIT](LICENSE) |
||
66 | |||
67 | [npm-image]: https://img.shields.io/npm/v/on-headers.svg |
||
68 | [npm-url]: https://npmjs.org/package/on-headers |
||
69 | [node-version-image]: https://img.shields.io/node/v/on-headers.svg |
||
70 | [node-version-url]: http://nodejs.org/download/ |
||
71 | [travis-image]: https://img.shields.io/travis/jshttp/on-headers/master.svg |
||
72 | [travis-url]: https://travis-ci.org/jshttp/on-headers |
||
73 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/on-headers/master.svg |
||
74 | [coveralls-url]: https://coveralls.io/r/jshttp/on-headers?branch=master |
||
75 | [downloads-image]: https://img.shields.io/npm/dm/on-headers.svg |
||
76 | [downloads-url]: https://npmjs.org/package/on-headers |