File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3,13 +3,13 @@ var base64url = require('base64url');
33var DataStream = require ( './data-stream' ) ;
44var jwa = require ( 'jwa' ) ;
55var Stream = require ( 'stream' ) ;
6- var toString = require ( './tostring ' ) ;
6+ var toBuffer = require ( './to-buffer ' ) ;
77var util = require ( 'util' ) ;
88
99function jwsSecuredInput ( header , payload , encoding ) {
1010 encoding = encoding || 'utf8' ;
11- var encodedHeader = base64url ( toString ( header ) , 'binary' ) ;
12- var encodedPayload = base64url ( toString ( payload ) , encoding ) ;
11+ var encodedHeader = base64url ( toBuffer ( header ) ) ;
12+ var encodedPayload = base64url ( toBuffer ( payload , encoding ) ) ;
1313 return util . format ( '%s.%s' , encodedHeader , encodedPayload ) ;
1414}
1515
Original file line number Diff line number Diff line change 1+ 'use strict' ;
2+
3+ var Buffer = require ( 'safe-buffer' ) . Buffer ;
4+
5+ module . exports = function toBuffer ( val , encoding ) {
6+ if ( Buffer . isBuffer ( val ) ) {
7+ return val ;
8+ }
9+ if ( typeof val === 'string' ) {
10+ return Buffer . from ( val , encoding || 'utf8' ) ;
11+ }
12+ if ( typeof val === 'number' ) {
13+ // This won't work for very large or very small numbers, but is consistent
14+ // with previous behaviour at least
15+ val = val . toString ( ) ;
16+ return Buffer . from ( val , 'utf8' ) ;
17+ }
18+ return Buffer . from ( JSON . stringify ( val ) , 'utf8' ) ;
19+ } ;
You can’t perform that action at this time.
0 commit comments