File tree Expand file tree Collapse file tree 2 files changed +25
-5
lines changed Expand file tree Collapse file tree 2 files changed +25
-5
lines changed Original file line number Diff line number Diff line change
1
+ unreleased
2
+ ==========
3
+
4
+ * perf: reduce overhead when no ` X-Forwarded-For ` header
5
+
1
6
0.1.1 / 2017-09-10
2
7
==================
3
8
Original file line number Diff line number Diff line change @@ -34,14 +34,29 @@ function forwarded (req) {
34
34
}
35
35
36
36
// simple header parsing
37
- var proxyAddrs = ( req . headers [ 'x-forwarded-for' ] || '' )
38
- . trim ( )
39
- . split ( TOKEN_LIST_REGEXP )
40
- . filter ( Boolean )
41
- . reverse ( )
37
+ var proxyAddrs = parse ( req . headers [ 'x-forwarded-for' ] || '' )
42
38
var socketAddr = req . connection . remoteAddress
43
39
var addrs = [ socketAddr ] . concat ( proxyAddrs )
44
40
45
41
// return all addresses
46
42
return addrs
47
43
}
44
+
45
+ /**
46
+ * Parse the X-Forwarded-For header.
47
+ *
48
+ * @param {string } header
49
+ * @private
50
+ */
51
+
52
+ function parse ( header ) {
53
+ if ( ! header ) {
54
+ return [ ]
55
+ }
56
+
57
+ return header
58
+ . trim ( )
59
+ . split ( TOKEN_LIST_REGEXP )
60
+ . filter ( Boolean )
61
+ . reverse ( )
62
+ }
You can’t perform that action at this time.
0 commit comments