Skip to content

Commit 8cb4914

Browse files
committed
feat(connect): middlewareをtraceするサンプルを追加
connect-trace-example.js
1 parent 089c2af commit 8cb4914

File tree

6 files changed

+16
-20
lines changed

6 files changed

+16
-20
lines changed

ja/connect/README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Echoサーバとは、送られてきたリクエストの内容をそのまま
2323
```
2424

2525
`app.use(middleware)` という形で、_middleware_と呼ばれる関数には`request``response`といったオブジェクトが渡されます。
26-
そのため、リクエストみてフィルタリングしたり、任意のレスポンスを返したり出来るようになっています。
26+
そのため、リクエストをフィルタリングしたり、ログを取ったり、任意のレスポンスを返したり出来るようになっています。
2727

2828
Echoサーバでは `req.pipe(res);` という形でリクエストをそのままレスポンスとして流す事で実現されています。
2929

@@ -47,4 +47,5 @@ Echoサーバでは `req.pipe(res);` という形でリクエストをそのま
4747
基本的にどの_middleware_も`app.use(middleware)`という形で拡張でき、
4848
モジュールとして実装すれば再利用もしやすい形となっています。
4949

50-
> **Note** _middleware_となる関数の引数が4つであると、それはエラーハンドリングの_middleware_とするという、Connectの独自のルールがあります。
50+
> **Note** _middleware_となる関数の引数が4つであると、それはエラーハンドリングの_middleware_とするという、Connect独自のルールがあります。
51+

src/connect/connect-example.js

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import assert from "assert";
66
import connect from "connect";
77
import http from "http";
88
import fetch from "node-fetch";
9+
910
const responseText = "response text";
1011
let app = connect();
1112
// add Error handling
@@ -14,6 +15,7 @@ app.use(errorHandler());
1415
app.use(nosniff());
1516
// respond to all requests
1617
app.use(hello(responseText));
18+
1719
//create node.js http server and listen on port
1820
let server = http.createServer(app).listen(3000, request);
1921

src/connect/connect-trace-example.js

+7-14
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,10 @@ app.use(nosniff());
1616
// respond to all requests
1717
app.use(hello(responseText));
1818

19-
//create node.js http server and listen on port
20-
let server = http.createServer(app).listen(3000, request);
21-
22-
function request() {
23-
let closeServer = server.close.bind(server);
24-
fetch("http://localhost:3000")
25-
.then(res => res.text())
26-
.then(text => {
27-
assert.equal(text, responseText);
28-
server.close();
29-
})
30-
.catch(console.error.bind(console))
31-
.then(closeServer, closeServer);
32-
}
19+
// print middleware list
20+
app.stack.map(({handle}) => console.log(handle));
21+
/* =>
22+
[Function: errorHandling]
23+
[Function: nosniff]
24+
[Function: hello]
25+
*/

src/connect/errorHandler.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use strict";
2-
export default function errorHandler() {
3-
return function (err, req, res, next) {
2+
export default function () {
3+
return function errorHandling(err, req, res, next) {
44
console.error(err.stack);
55
res.status(500).send(err.message);
66
next();

src/connect/hello.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use strict";
22
export default function (text) {
3-
return function (req, res) {
3+
return function hello(req, res) {
44
res.end(text);
55
};
66
}

src/connect/nosniff.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ function setHeaders(res, headers) {
88
});
99
}
1010
export default function () {
11-
return function (req, res, next) {
11+
return function nosniff(req, res, next) {
1212
setHeaders(res, {
1313
"X-Content-Type-Options": "nosniff"
1414
});

0 commit comments

Comments
 (0)