New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

ratelimit-header-parser

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ratelimit-header-parser

Parse RateLimit headers of various forms, including the combined form from draft 7 of the IETF standard, into a normalized format.

latest
Source
npmnpm
Version
0.1.0
Version published
Weekly downloads
498
-16.72%
Maintainers
1
Weekly downloads
 
Created
Source

ratelimit-header-parser

CI

Parse RateLimit headers of various forms into a normalized format. Supports the combined form from draft 7 of the IETF Rate Limit Headers standard, the uncombined RateLimit-* format of earlier drafts, traditional X-RateLimit-* headers, and a few other formats.

Usage:

import { parseRateLimit } from 'ratelimit-header-parser'

const response = await fetch(
	'https://api.github.com/repos/express-rate-limit/express-rate-limit/contributors?anon=1',
)

console.log('github ratelimit:', parseRateLimit(response))
// > github ratelimit: { limit: 60, used: 1, remaining: 59, reset: 2023-08-25T04:16:48.000Z }

API

parseRateLimit(responseOrHeadersObject, [options]) => Object | undefined

Scans the input for ratelimit headers in a variety of formats and returns the result in a consistent format, or undefined if it fails to find any ratelimit headers.

  • responseOrHeadersObject: May be either a fetch-style Response or Headers object or a node.js-style response or headers object
  • options: Optional object with the following optional fields:
    • reset: How to parse the reset field. If unset, the parser will guess based on the content. Accepts the following strings:
      • 'date': past the value to new Date(...) to let the JavaScript engine parse it
      • 'unix': treat the value as the number of seconds since January 1, 1970 (A.K.A a unix timestamp)
      • 'seconds': treat the value as the number of seconds from the current time
      • 'milliseconds': treat the value as the number of milliseconds from the current time

Returns a object with the following fields, or undefined if it does not find any rate-limit headers.

{
	limit: number
	used: number
	remaining: number
	reset: Date or undefined
}

Keywords

ratelimit

FAQs

Package last updated on 25 Aug 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts