This repository was archived by the owner on Oct 10, 2022. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +10
-5
lines changed
Expand file tree Collapse file tree 3 files changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ const NetlifyAPI = require('./index')
55const body = promisify ( require ( 'body' ) )
66const fromString = require ( 'from2-string' )
77const { TextHTTPError } = require ( 'micro-api-client' )
8- const { existy } = require ( './open-api/util' )
8+ const { existy, unixNow } = require ( './open-api/util' )
99
1010const createServer = handler => {
1111 const s = http . createServer ( handler )
@@ -252,11 +252,12 @@ test.serial('test rate-limiting', async t => {
252252 try {
253253 server = createServer ( async ( req , res ) => {
254254 if ( ! existy ( retryAt ) ) {
255- retryAt = Date . now ( ) + randomInt ( 1000 , 5000 ) //ms
255+ retryAt = unixNow ( ) + randomInt ( 1 , 5 ) //ms
256256
257257 requestRateLimit ( res , retryAt )
258258 } else {
259- const rateLimitFinished = Date . now ( ) >= retryAt
259+ const now = unixNow ( )
260+ const rateLimitFinished = now >= retryAt
260261
261262 if ( rateLimitFinished ) {
262263 t . pass ( 'The client made a request at or after the rate limit deadline' )
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ const Headers = fetch.Headers
77const camelCase = require ( 'lodash.camelcase' )
88const { JSONHTTPError, TextHTTPError } = require ( 'micro-api-client' )
99const debug = require ( 'debug' ) ( 'netlify:open-api' )
10- const { existy, sleep } = require ( './util' )
10+ const { existy, sleep, unixNow } = require ( './util' )
1111
1212exports . methods = require ( './shape-swagger' )
1313
@@ -132,7 +132,9 @@ exports.generateMethod = method => {
132132 throw new Error ( 'Header missing reset time' )
133133 }
134134 debug ( `resetTime: ${ resetTime } ` )
135- const sleepTime = resetTime - Date . now ( )
135+ const now = unixNow ( )
136+ debug ( `unixNow(): ${ now } ` )
137+ const sleepTime = ( resetTime - now < 0 ? 0 : resetTime - now ) * 1000
136138 debug ( `sleeping for ${ sleepTime } ms` )
137139 await sleep ( sleepTime )
138140 } catch ( e ) {
Original file line number Diff line number Diff line change @@ -34,3 +34,5 @@ exports.existy = val => val != null
3434
3535// Async sleep. A whole new WORLD!
3636exports . sleep = ms => new Promise ( resolve => setTimeout ( resolve , ms ) )
37+
38+ exports . unixNow = ( ) => Math . floor ( new Date ( ) / 1000 )
You can’t perform that action at this time.
0 commit comments