Skip to content

Commit

Permalink
Add :remote-user token
Browse files Browse the repository at this point in the history
  • Loading branch information
dougwilson committed Jul 19, 2014
1 parent 12b759b commit 73c8aba
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 2 deletions.
1 change: 1 addition & 0 deletions History.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
unreleased
==========

* Add `:remote-user` token
* Remove non-standard grey color from `dev` format

1.1.1 / 2014-05-20
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ morgan.format('name', 'string or function')
- `:http-version`
- `:response-time`
- `:remote-addr`
- `:remote-user`
- `:date`
- `:method`
- `:url`
Expand Down
15 changes: 13 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
* Module dependencies.
*/

var auth = require('basic-auth')
var bytes = require('bytes');

/**
Expand Down Expand Up @@ -157,13 +158,13 @@ exports.format = function(name, fmt){
* Default format.
*/

exports.format('default', ':remote-addr - - [:date] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"');
exports.format('default', ':remote-addr - :remote-user [:date] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"');

/**
* Short format.
*/

exports.format('short', ':remote-addr - :method :url HTTP/:http-version :status :res[content-length] - :response-time ms');
exports.format('short', ':remote-addr :remote-user :method :url HTTP/:http-version :status :res[content-length] - :response-time ms');

/**
* Tiny format.
Expand Down Expand Up @@ -250,6 +251,16 @@ exports.token('remote-addr', function(req){
return undefined;
});

/**
* remote user
*/

exports.token('remote-user', function (req) {
var creds = auth(req)
var user = (creds && creds.name) || '-'
return user;
})

/**
* HTTP version
*/
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"license": "MIT",
"repository": "expressjs/morgan",
"dependencies": {
"basic-auth": "1.0.0",
"bytes": "1.0.0"
},
"devDependencies": {
Expand Down
40 changes: 40 additions & 0 deletions test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,46 @@ describe('logger()', function () {
})
})

describe(':remote-user', function () {
it('should be empty if none present', function (done) {
var server = createServer({format: ':remote-user'})

request(server)
.get('/')
.end(function (err, res) {
if (err) return done(err)
lastLogLine.should.equal('-\n')
done()
})
})

it('should support Basic authorization', function (done) {
var server = createServer({format: ':remote-user'})

request(server)
.get('/')
.set('Authorization', 'Basic dGo6')
.end(function (err, res) {
if (err) return done(err)
lastLogLine.should.equal('tj\n')
done()
})
})

it('should be empty for empty Basic authorization user', function (done) {
var server = createServer({format: ':remote-user'})

request(server)
.get('/')
.set('Authorization', 'Basic Og==')
.end(function (err, res) {
if (err) return done(err)
lastLogLine.should.equal('-\n')
done()
})
})
})

describe(':response-time', function () {
it('should be in milliseconds', function (done) {
var start = Date.now()
Expand Down

0 comments on commit 73c8aba

Please sign in to comment.