Skip to content

Commit

Permalink
Replace request-debug with request-logger
Browse files Browse the repository at this point in the history
  • Loading branch information
Pedro Branco committed Jan 12, 2017
1 parent e205b2d commit ef43342
Show file tree
Hide file tree
Showing 12 changed files with 83 additions and 82 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@
"version": "npm run changelog --future-release=$npm_package_version && npm run transpile && git add -A CHANGELOG.md dist"
},
"dependencies": {
"@uphold/request-logger": "^1.2.0",
"bluebird": "^3.4.6",
"debugnyan": "^1.0.0",
"google-libphonenumber": "^2.0.2",
"lodash": "^4.16.2",
"qs": "^6.2.1",
"request": "^2.75.0",
"request-debug": "^0.2.0",
"standard-http-error": "^2.0.0",
"urijs": "^1.18.2",
"url-escape-tag": "^1.0.0",
Expand Down
2 changes: 1 addition & 1 deletion src/asserts/country-or-calling-code-assert.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import { PhoneNumberUtil } from 'google-libphonenumber';
import { Violation } from 'validator.js';
import debugnyan from '../logging/debugnyan';
import debugnyan from 'debugnyan';
import { isNumber, isString } from 'lodash';

/**
Expand Down
2 changes: 1 addition & 1 deletion src/asserts/phone-assert.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*/

import { PhoneNumberUtil } from 'google-libphonenumber';
import debugnyan from '../logging/debugnyan';
import debugnyan from 'debugnyan';
import { isString } from 'lodash';
import { Validator, Violation } from 'validator.js';

Expand Down
4 changes: 2 additions & 2 deletions src/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@

import Promise from 'bluebird';
import _ from 'lodash';
import debugnyan from './logging/debugnyan';
import debugnyan from 'debugnyan';
import esc from 'url-escape-tag';
import manifest from '../package';
import parsePhone from './parsers/phone-parser';
import parseResponse from './parsers/response-parser';
import request from 'request';
import request from './logging/request';
import { assert, Assert as is, validate } from './validator';

/**
Expand Down
15 changes: 0 additions & 15 deletions src/logging/debugnyan.js

This file was deleted.

26 changes: 26 additions & 0 deletions src/logging/request-obfuscator.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@

/**
* Module dependencies.
*/

import { isString } from 'lodash';

/**
* Instances.
*/

const replacement = /(api_key=)([^&])*/;

/**
* Export `RequestObfuscator`.
*/

export function obfuscate(request) {
// Obfuscate the API key on `uri`.
request.uri = request.uri.replace(replacement, '$1*****');

// Obfuscate the API key on `body`.
if (isString(request.body)) {
request.body = request.body.replace(replacement, '$1*****');
}
}
20 changes: 10 additions & 10 deletions src/logging/request.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,29 @@
* Module dependencies.
*/

import debug from 'request-debug';
import debugnyan from './debugnyan';
import debugnyan from 'debugnyan';
import logger from '@uphold/request-logger';
import { obfuscate } from './request-obfuscator';
import request from 'request';

/**
* Instances.
*/

const log = debugnyan('authy:request');
const replacement = /(api_key=)([^&])*/;

/**
* Customize log handler.
* Export `request`.
*/

debug(request, (type, data) => {
const uri = (data.uri || '').replace(replacement, '$1*****');
export default logger(request, request => {
obfuscate(request);

let message = `Making request #${data.debugId} to ${data.method} ${uri}`;
if (request.type === 'response') {
log.debug({ request }, `Received response for request ${request.id}`);

if (type === 'response') {
message = `Received response for request #${data.debugId}`;
return;
}

log.debug({ [type]: data, type }, message);
log.debug({ request }, `Making request ${request.id} to ${request.method} ${request.uri}`);
});
28 changes: 0 additions & 28 deletions src/logging/serializers/request-serializer.js

This file was deleted.

2 changes: 1 addition & 1 deletion src/parsers/phone-parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* Module dependencies.
*/

import debugnyan from '../logging/debugnyan';
import debugnyan from 'debugnyan';
import { PhoneNumberFormat as PNF, PhoneNumberUtil } from 'google-libphonenumber';

/**
Expand Down
2 changes: 1 addition & 1 deletion src/validator.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*/

import * as customAsserts from './asserts';
import debugnyan from './logging/debugnyan';
import debugnyan from 'debugnyan';
import extraAsserts from 'validator.js-asserts';
import { merge } from 'lodash';
import { AssertionFailedError, ValidationFailedError } from './errors';
Expand Down
40 changes: 40 additions & 0 deletions test/logging/request-obfuscator_test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@

/**
* Module dependencies.
*/

import _ from 'lodash';
import { obfuscate } from '../../src/logging/request-obfuscator';

/**
* Test `RequestObfuscator`.
*/

describe('RequestObfuscator', () => {
describe('obfuscate()', () => {
it('should strip credentials from query string', () => {
const request = {
id: '354f8341-eb27-4c91-a8f7-a30e303a0976',
method: 'GET',
uri: 'foo=bar&api_key=foobar'
};

obfuscate(request);

request.should.eql(_.defaults({ uri: 'foo=bar&api_key=*****' }, request));
});

it('should strip credentials from request `body`', () => {
const request = {
body: 'foo=bar&api_key=foobar',
id: '354f8341-eb27-4c91-a8f7-a30e303a0976',
method: 'GET',
uri: 'foo=bar&api_key=foobar'
};

obfuscate(request);

request.should.eql(_.defaults({ body: 'foo=bar&api_key=*****' }, request));
});
});
});
22 changes: 0 additions & 22 deletions test/logging/serializers/request-serializer.js

This file was deleted.

0 comments on commit ef43342

Please sign in to comment.