Skip to content

Commit 80f469d

Browse files
authored
feat(headers): add helmet
1 parent bf9e2af commit 80f469d

File tree

4 files changed

+21
-1
lines changed

4 files changed

+21
-1
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,11 @@ Returns an Express middleware, which ratelimits
103103
* `options.loggerFunction`: you can provide a logger function for the middleware to log attacks
104104
* default: `noop`
105105

106+
#### `protect.express.headers([options])`
107+
108+
The headers object is a reference to the main `helmet` object exported.
109+
For docs on the options object, please refer to the [helmet documentation](https://github.com/helmetjs/helmet).
110+
106111
### Roadmap
107112

108113
* block security scanners

lib/express/index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
const debug = require('debug')('@risingstack/protect:express')
44
const Limiter = require('ratelimiter')
5+
const helmet = require('helmet')
56
const rules = require('../rules')
67

78
function getBodyAsString (request) {
@@ -119,5 +120,7 @@ function noop () {}
119120
module.exports = {
120121
sqlInjection,
121122
xss,
122-
rateLimiter
123+
rateLimiter,
124+
headers: helmet,
125+
helmet
123126
}

lib/express/index.spec.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ const request = require('supertest')
44
const express = require('express')
55
const bodyParser = require('body-parser')
66
const redis = require('redis')
7+
const expect = require('chai').expect
8+
const helmet = require('helmet')
79

810
const client = redis.createClient()
911
const lib = require('../')
@@ -165,4 +167,13 @@ describe('The express object', () => {
165167
})
166168
})
167169
})
170+
171+
describe('the headers module', () => {
172+
it('exposes helmet as headers', () => {
173+
expect(lib.express.headers).to.eql(helmet)
174+
})
175+
it('exposes helmet as helmet', () => {
176+
expect(lib.express.helmet).to.eql(helmet)
177+
})
178+
})
168179
})

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
},
4949
"dependencies": {
5050
"debug": "2.6.6",
51+
"helmet": "3.6.1",
5152
"ratelimiter": "3.0.3"
5253
}
5354
}

0 commit comments

Comments
 (0)